我有一個關鍵字查詢的結果集。返回的每個關鍵字對象與另一個實體都有多對多的關係。 (稱爲B)如何獲取通過關係檢索的NSManagedObject的ObjectID?
我在想什麼是有沒有辦法使用關鍵字resultset
,並找到只有B
實體的管理對象id,而不必將其拉入內存?目前,我一直這樣做:
NSMutableArray *objIdList = [[NSMutableArray alloc] init];
NSArray *keywordResultSet = <results from initial keyword query>;
for (Keyword *keyword in keywordResultSet)
{
B *mo = [keyword valueForKey: <relationship>];
[objIdlist addObject: [mo objectID]];
}
// additional sorting of result set
問題是這是超慢,當我這樣做。有沒有辦法只獲得ObjectIDs?
我應該補充一點,我在這裏問的是對象在關係另一端的objectid而不是「關鍵字」似乎沒有辦法做到這一點。我可以使用被引用的實體的其他字段,但是我要求的是一個通用的級別。我不想知道一個特定的財產存在。使用objectIds應該允許我這樣做,因爲它們對每個對象都是唯一的,並且可以安全地跨線程和上下文使用。 – 2011-04-25 00:00:26