0
我正在嘗試使用以下代碼找到核心數據記錄的索引,其中[self numItems]返回記錄數。代碼平均需要大約0.2秒才能執行。我有興趣加快速度。提前致謝。有沒有一種有效的方法來確定特定核心數據記錄的索引
- (NSInteger) indexWithTaskID:(NSInteger)eventID
{
for (NSInteger i=0;i<[self numItems];i++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
NSManagedObject *managedObject = [self.fetchedResultsController
objectAtIndexPath:indexPath];
NSInteger myEventID = [(NSNumber *)[managedObject valueForKey:@"eventID"] intValue];
if (myEventID == eventID) {
return i;
}
}
return -1;
}
你稱之爲什麼情境?如果你有完整的managedObject,你可以調用'[self.fetchedResultsController indexPathForObject:managedObject]'。 – joshOfAllTrades 2012-07-08 03:00:32
當這個方法被調用時,我沒有特定的managedObject。我只有eventID。謝謝。 – 0x141E 2012-07-08 03:16:02
我仍然對上下文感到好奇。 – joshOfAllTrades 2012-07-08 03:18:12