SwiftUI之CoreData關(guān)鍵技術(shù)大全

參考代碼

實體闺骚、屬性蒋腮、關(guān)系

  • Entity(實體)是CoreData中的類定義称近。典型的例子是雇員或公司夹界。在關(guān)系數(shù)據(jù)庫中冀惭,實體對應(yīng)于一個表染坯。
  • Attribute(屬性)是附加到特定實體的一條信息碌上。例如倚评,一個Employee實體可以具有該雇員的姓名浦徊,職位和薪水的屬性。在數(shù)據(jù)庫中天梧,屬性對應(yīng)于表中的特定字段盔性。
  • Relationship(關(guān)系)是多個實體之間的鏈接。在CoreData中呢岗,兩個實體之間的關(guān)系稱為一對一關(guān)系冕香,而一個和許多實體之間的關(guān)系稱為一對多關(guān)系。例如后豫,經(jīng)理可以與一組雇員建立一對多關(guān)系悉尾,而單個雇員通常與他的經(jīng)理具有一對一關(guān)系。

存儲挫酿、讀取构眯、更新、刪除

NSManagedObject

表示存儲在CoereData中的單個對象饭豹;您必須使用它來創(chuàng)建鸵赖,編輯,保存和從Core Data持久性存儲中刪除拄衰。稍后您將看到它褪,NSManagedObject是一種變形器。它可以采用數(shù)據(jù)模型中任何實體的形式翘悉。

1茫打、 存儲NSManagedObject

   var items: [NSManagedObject] = []

2、讀取NSmanagedObject數(shù)據(jù)
通過NSManagedObject妖混,您可以使用Key-Value來設(shè)置name屬性老赤。您必須完全按照數(shù)據(jù)模型中顯示的方式拼寫Key,否則制市,您的應(yīng)用程序?qū)⒃谶\行時崩潰抬旺。

note.value(forKeyPath: "name") as? String

NSManagedObjectContext

在從CoreData存儲中保存或檢索任何內(nèi)容之前,首先需要使用NSManagedObjectContext祥楣。您可以將托管對象上下文視為用于處理托管對象的內(nèi)存“便簽本”开财。

考慮將新的managed object保存到Core Data的過程分為兩個步驟:首先,將新的managed object插入managed object context误褪;一旦感到滿意责鳍,就可以“提交”managed object contenxt中的更改以將其保存到磁盤.

Xcode已經(jīng)生成了一個managed object context,作為新項目模板的一部分兽间。請記住历葛,只有在開始時選中“Use Core Data”復(fù)選框,才會發(fā)生這種情況嘀略。此默認managed object context作為應(yīng)用程序委托中NSPersistentContainer的屬性存在恤溶。要訪問它乓诽,您首先需要獲得對應(yīng)用程序委托的引用。

選中“Use Core Data”復(fù)選框
AppDelegate.swift 文件宏娄,自動生成的代碼

NSEntityDescription

NSManagedObject被稱為變形體问裕,因為它可以表示任何實體。NSEntityDescription是在運行時將數(shù)據(jù)模型中的實體定義與NSManagedObject實例鏈接的部分孵坚。

技術(shù)交流

NSFetchRequest

顧名思義,NSFetchRequest是負責從Core Data獲取數(shù)據(jù)的類窥淆。提取請求既強大又靈活卖宠。您可以使用獲取請求來獲取一組滿足所提供條件的對象.

1、讀取全部數(shù)據(jù)

 let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Note")

2忧饭、過濾內(nèi)容

  let request: NSFetchRequest<Note> = User.fetchRequest()
        request.predicate = NSPredicate(format: "name == %@", name)
        
        do {
            orders = try self.moc.fetch(request)
        } catch let error as NSError {
            print(error)
        }
        

設(shè)置獲取請求的實體屬性扛伍,使用init(entityName :)對其進行初始化,將獲取特定實體的所有對象词裤。這是您在此處獲取所有Note實體的操作刺洒。另請注意,NSFetchRequest是通用類型吼砂。泛型的使用指定了獲取請求的預(yù)期返回類型逆航,在本例中為NSManagedObject。

 let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Note")

我們可以通過制作fetch函數(shù)來為了簡化調(diào)用渔肩。

func fetch(){
}

QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470

http://www.reibang.com/c/7b3e3b671970

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末因俐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子周偎,更是在濱河造成了極大的恐慌抹剩,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓉坎,死亡現(xiàn)場離奇詭異澳眷,居然都是意外死亡,警方通過查閱死者的電腦和手機蛉艾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門钳踊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伺通,你說我怎么就攤上這事箍土。” “怎么了罐监?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵吴藻,是天一觀的道長。 經(jīng)常有香客問我弓柱,道長沟堡,這世上最難降的妖魔是什么侧但? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮航罗,結(jié)果婚禮上禀横,老公的妹妹穿的比我還像新娘。我一直安慰自己粥血,他們只是感情好柏锄,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著复亏,像睡著了一般趾娃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缔御,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天抬闷,我揣著相機與錄音,去河邊找鬼耕突。 笑死笤成,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的眷茁。 我是一名探鬼主播炕泳,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔼卡!你這毒婦竟也來了喊崖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤雇逞,失蹤者是張志新(化名)和其女友劉穎荤懂,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塘砸,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡节仿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掉蔬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廊宪。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖女轿,靈堂內(nèi)的尸體忽然破棺而出箭启,到底是詐尸還是另有隱情,我是刑警寧澤蛉迹,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布傅寡,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏荐操。R本人自食惡果不足惜芜抒,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望托启。 院中可真熱鬧宅倒,春花似錦、人聲如沸屯耸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疗绣。三九已至唠亚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間持痰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工祟蚀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留工窍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓前酿,卻偏偏與公主長得像患雏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子罢维,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348