0
A
回答
1
嗯,我不知道我理解你的問題,但我會嘗試在簡單的領域模型的上下文中回答。
比方說,你有一個Person
類和一個Computer
類,都延伸NSManagedObject
。 Person
通過單向關係鏈接到Computer
,名爲computers
的NSSet。
這將允許你在代碼中說:
Person *person = // ... (loaded from database)
NSSet *computers = person.computers;
for (Computer *computer : computers) {
// do something fun
}
然而,因爲它是一個單向的關係,你會不能夠做到這一點:
Computer *computer = // loaded from DB
Person *person = computer.person; // This line won't work
因此,因爲它不起作用 - 沒有向後關係 - 獲取相關Person類的唯一方法是構建一個Fetch請求來查詢數據庫並查找將Computer作爲成員的Person實例。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSPredicate *predicate = // define your NSPredicate to find the Person object here
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
一般來說,這是煩人。因此,如果可能的話,雙向定義您的關係(例如反向)通常是一個好主意,這將使您能夠做到:
Person *person = computer.person;
相關問題
- 1. 核心數據中的單向關係
- 2. 提取反向關係,而不是核心數據中的NSSet
- 3. 核心數據中的「關係的基數」是什麼意思?
- 4. 核心數據反向關係ios
- 5. 核心數據,沒有反向關係
- 6. 提取核心數據中的關係數據
- 7. 如何提取核心數據中的數據關係?
- 8. 核心數據反向排序關係提取
- 9. NSJSONSerialization - 與JSON的核心數據關係
- 10. 核心數據關係
- 11. 核心數據關係
- 12. 核心數據 - 關係
- 13. 核心數據關係
- 14. 核心數據和關係
- 15. iPhone核心數據關係
- 16. iOS核心數據 - 關係
- 17. 核心數據無關係
- 18. 核心數據關係
- 19. 核心數據關係
- 20. 核心數據與對多關係/
- 21. 核心數據NSPredicate與多個關係
- 22. JSON核心數據與關係
- 23. 核心數據與多對多關係
- 24. UIPickerview和核心數據與關係
- 25. NSPredicateEditor與核心數據關係
- 26. 核心數據關係獲取
- 27. 核心數據:獲取關係屬性
- 28. 核心數據獲取關係對象
- 29. 核心數據獲取請求關係
- 30. 提取斯坦福核心實體之間的關係核心NLP
這樣做很有意義。嘖嘖。 – 2011-04-14 07:14:55
我仍然缺少一些東西。說我仍然想要有人來電腦單向關係。說出這樣做的方式,而不會讓猜測錯誤是將計算機定義爲關係而不是定義關係。因此,沒有人擁有電腦。我們沒有人與電腦的關係。我們已經把人與計算機之間的關係搞定了。所以你的謂詞不起作用。 – 2011-04-14 07:17:05
提取關係是計算的 - 它們在物理上並不代表數據庫中保存的數據。它們對於排序結果和/或僅返回一個子集等事物很有用 - 例如,您可以從Person - > Computer獲取一個名爲'appleComputers'的獲取關係,該關係只返回這個人擁有的計算機和'where make =「Apple」'。 – asinesio 2011-04-14 17:31:58