coreData を使用して NSManagedObject の配列を挿入しています。最初のオブジェクトを正常に挿入した後、NSMutableArray の 2 番目のオブジェクトが nil になるのはなぜですか? ここに私のコードのスナップショットがあります:
+ (void)insertCategoryUsingCategoryArray:(NSMutableArray *)categoryArray
{
if(!categoryArray)
return;
for (int i=0;i<[categoryArray count]; i++) {
DataCategory *temp=(DataCategory *)[categoryArray objectAtIndex:i];
DataCategory *categoryInfo=(DataCategory *)[NSEntityDescription insertNewObjectForEntityForName:@"DataCategory" inManagedObjectContext:_sing.managedObjectContext];
[categoryInfo setCategoryId:temp.categoryId];
[categoryInfo setName:temp.name];
[categoryInfo setImgSrc:temp.imgSrc];
NSError *error;
if (![_sing.managedObjectContext save:&error]) {
NSLog(@"An error occured while saving! shit : %@", [error localizedDescription]);
}
categoryInfo=nil;
}
}
挿入関数に入ると、categoryArray をデバッグします。すべてのオブジェクトがそこにあり、最初にループした後、なんらかの理由で temp が nil になりました。