我正在學習如何使用Core Data。NSManagedObject集合
foo
對象是bar
共享類似屬性的對象的集合。 foo
有一些自己的成員,其中一個是bar
對象的數組。
爲了使用核心數據管理foo
s,我需要僅建模foo
嗎?他們是否都需要成爲NSManagedObject
的子類?我也不需要撤消功能。
我正在學習如何使用Core Data。NSManagedObject集合
foo
對象是bar
共享類似屬性的對象的集合。 foo
有一些自己的成員,其中一個是bar
對象的數組。
爲了使用核心數據管理foo
s,我需要僅建模foo
嗎?他們是否都需要成爲NSManagedObject
的子類?我也不需要撤消功能。
我想象你的對象圖如下:
美孚實體
酒吧實體
所有實體NSManagedObjects (或一個子類)。
CoreData就像使用數據庫中的關係模型一樣。
定義一個表/實體/對象(在objective-c中,以表格形式定義),並用於將它與另一個使用外鍵機制相關聯,或者用於更復雜的問題使用第三個實體(稱爲關係),也就是表。
表1:Foo的
fooID
barID
barID
。
。
barID
fooAttrib1
。
。
fooAttribn
barArrayAttribID
表2:用於條的
barID
barAttrib1
。
。
barAttribn
表3:Foo的屬性/構件(即陣列PF條的)
barArrayAttribID
barID
在表3中barArrayAttribID從表1映射而來,並與表中的許多barID鏈接2,像數組一樣。
這對於核心數據來說是一個可怕的方法。使用外鍵完全忽略了Core Data的本地關係。這樣做會使您的代碼比需要的複雜得多。核心數據的API與關係型數據庫非常不同,將其視爲關係型數據庫是一種採取簡單事情並使其變得困難的好方法。 –
嘗試使用關係而不是集合,它可能有所幫助。既然你這樣做了數據庫方式,那麼數據庫方式 –