96課:Core Data 進(jìn)階:搜索、更新對(duì)象

課程筆記文集地址: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ù)是否存在

比如用戶在注冊(cè)的時(shí)候,確認(rèn)一下這個(gè)用戶名有沒(méi)有人用過(guò)了。這種需求非常常見(jiàn)。

要改變查詢的類型:

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ù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評(píng)論 25 708
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 24,822評(píng)論 8 183
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,632評(píng)論 4 61
  • 這段時(shí)間學(xué)習(xí)了很多關(guān)于自律的時(shí)間管理方法,其中不乏針對(duì)手機(jī)微信、網(wǎng)癮的對(duì)策。 可大家還是沉迷于手機(jī)微信、刷屏,網(wǎng)絡(luò)...
    幽蘭君閱讀 304評(píng)論 5 0
  • 白起二人穿行于漫天的黃沙之中,對(duì)此李太白本是不滿的,往西而去何必先往北再往西呢?只是明了白起此次所去之地,也就坦然...
    樹(shù)不在了閱讀 301評(píng)論 0 1

友情鏈接更多精彩內(nèi)容