[英]Relationship in Core Data as NSSet
我有一個類別的實體和一個子類別的實體。 它是一對多的,因為一個類別可以有許多子類別。 我仍在努力將所有事情纏住,所以請忍受...
extension Category {
@NSManaged var name: String?
@NSManaged var subCategory: SubCategory?
}
extension SubCategory {
@NSManaged var name: String?
}
然后在代碼中的其他地方(例如某些視圖控制器)進行調用
let category = NSEntityDescription.insertNewObjectForEntityForName("Category", inManagedObjectContext: self.context) as! Category
let sub = SubCategory()
sub.name = "sub1"
category.subCategory = sub
//save it
然后,當我查看實際的核心數據Sqlite db時,可以看到Category實體的ZSUBCATEGORY列填充有sub category實體的主鍵值。 我已經在數據模型中定義了關系。
我的問題是,我注意到某些關系是通過NSSet存儲的。 這樣做有什么好處嗎? 我在做錯事嗎? 對我來說,這似乎比較簡單,然后我可以做...
category.subcategory.name
獲取子類別名稱
如果這是一對一的關系,那么確實可以做到這一點:
category.subcategory.name
這就是您在此示例中所做的,已經定義了一對一關系。 如果要比定義多一:
extension Category {
@NSManaged var name: String?
@NSManaged var subCategory: NSSet?
}
這種方式將類別與子類別的數量鏈接在一起,所以如果您願意
category.subcategory.name
您怎么知道您正在訪問哪個子類別? 您將不得不遍歷set,以找到要查找的一個子類別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.