[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;
}