假設Recipe
對象具有一個或多個Ingredient
的NSSet
,並且在覈心數據中建模了相同的關係。訪問在覈心數據中建模的類的屬性的正確方式
鑑於recipe
,訪問其成分的正確方法是什麼?
在這個例子中,使用recipe.ingredients
似乎很自然,但我可以同樣使用NSFetchRequest
爲Ingredient
實體,NSPredicate
通過配方匹配。
現在讓我們說我只想要「收集」的成分。這對我來說不太清楚 - 我是否應該使用配方的提取請求,而配料的限制條件和收集狀態?或通過recipe.ingredients循環?
在秤的另一端,也許我只需要這個配方的成分,也出現在其他食譜。現在,獲取請求似乎更具吸引力。
什麼是正確的一般方法?或者這是一個個案情況?我感興趣的影響:
- Consitancy
- 可讀性
- 性能
- 魯棒性(例如,很容易做出錯誤的讀取請求編譯器不能趕上)。
如果您沒有使用預取,使用謂詞「內存中」過濾器的關係會逐個對對象進行排序,所以對於100件商品的關係,您將有100次訪問該商店,並且性能非常差。您必須定義預取關係以避免這種情況。 – 2013-05-08 22:00:26
@DanShelly謝謝你指出! – Caleb 2013-05-08 22:55:26