2013-04-09 121 views

回答

1

如果你知道你將循環訪問所有的NSManagedObject的關係
你原來NSFetchRequest應該使用預取的關係:setRelationshipKeyPathsForPrefetching:
在這種情況下,您已經在原始提取中支付了費用(並且可能較低)。

如果您在訪問每個object.relation時不預取,則必須使用核心數據來填充該關係。這可能比新的Fetch請求更好。
但是,如果您確實想要執行新的提取請求,請不要在每次使用同一個請求時從頭創建一個。每次使用predicateWithSubstitutionVariables:的謂詞不要從頭開始創建一個謂詞。從頭開始創建新的謂詞非常昂貴。