課程筆記文集地址:Udemy課程:The Complete iOS 9 Developer Course - Build 18 Apps
一穷躁、查找某個(gè)屬性的數(shù)據(jù)
其實(shí)只需要改變一行代碼即可:
if let username = result.valueForKey("username") as? String
放到遍歷數(shù)據(jù)里:
// 找到對(duì)應(yīng)的 Entity
let request = NSFetchRequest(entityName: "Users")
// 如果想直接獲取實(shí)際的數(shù)據(jù)值仇让,需要設(shè)置為 false
request.returnsObjectsAsFaults = false
// 開(kāi)始取出數(shù)據(jù)那槽,使用 do catch 語(yǔ)法
do {
let results = try context.executeFetchRequest(request)
//判斷是否存在數(shù)據(jù)
if results.count > 0 {
// 遍歷數(shù)據(jù)
for result in results as! [NSManagedObject] {
// 這里就是關(guān)鍵行
if let username = result.valueForKey("username") as? String {
print(username)
}
}
}
} catch {
print("取數(shù)據(jù)出錯(cuò)了")
}
二蜈膨、查找某個(gè)數(shù)據(jù)是否存在
比如用戶(hù)在注冊(cè)的時(shí)候屿笼,確認(rèn)一下這個(gè)用戶(hù)名有沒(méi)有人用過(guò)了。這種需求非常常見(jiàn)翁巍。
要改變查詢(xún)的類(lèi)型:
request.predicate = NSPredicate(format: "username = %@", "Ralphie")
三驴一、更新數(shù)據(jù)
對(duì)既有的數(shù)據(jù)進(jìn)行編輯,和保存相似灶壶,只不過(guò)代碼的位置不一樣肝断,更新數(shù)據(jù)是需要先找到已有的數(shù)據(jù)之后,才能進(jìn)行數(shù)據(jù)的更新驰凛。
四胸懈、數(shù)據(jù)的刪除
context.deleteObject(result)
Core Data 這部分沒(méi)看懂就算了,大部分的公司不會(huì)用這個(gè)數(shù)據(jù)庫(kù)的恰响,一般都是網(wǎng)絡(luò)請(qǐng)求獲取的數(shù)據(jù)趣钱。