Tôi đang gặp sự cố với dữ liệu lõi/NSFetchedResultsController. Tôi không hoàn toàn chắc chắn nơi lỗi là thông điệp là khá mơ hồ.Dữ liệu lõi/lỗi NSFetchedResultsBộ điều khiển
Tôi gặp sự cố khi chèn nhiều đối tượng khi trình điều khiển kết quả tìm nạp không tìm nạp đối tượng. Các mã sau đây sẽ sụp đổ với các lỗi sau đây nếu tôi cố gắng và chèn một số đối tượng không có lấy. Nó không sụp đổ nếu tôi sử dụng nó để chèn một đối tượng, và nó không sụp đổ nếu đã có các đối tượng được tìm nạp.
Sự cố xảy ra trên phương thức save :. tiêu đề trong một NSArray và trong ví dụ này nó chứa 5 chuỗi.
Lỗi ứng dụng nghiêm trọng. Ngoại lệ đã bị bắt trong Core Data thay đổi chế biến: * - [NSCFArray objectAtIndex:]: chỉ mục (4) vượt giới hạn (1) với UserInfo (null) * Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSRangeException', lý do : '*** - [NSCFArray objectAtIndex:]: chỉ mục (4) vượt quá giới hạn (1)'
NSEnumerator *titleEnumerator = [titles objectEnumerator];
NSString *title;
NSMutableArray *tasks = [NSMutableArray array];
Todo *todo;
while(title = [titleEnumerator nextObject])
{
todo = (Todo *)[NSEntityDescription insertNewObjectForEntityForName:@"Todo" inManagedObjectContext:managedObjectContext];
todo.title = title;
todo.state = [NSNumber numberWithInteger:TodoStateIncomplete];
todo.priority = [NSNumber numberWithInteger:TodoPriorityNormal];
todo.timeStamp = [NSDate date];
todo.dueDate = [NSDate distantFuture];
}
NSError *error;
if(![managedObjectContext save:&error])
{
NSLog(@"Unresolved error %@ %@", error, [error userInfo]);
abort();
}
tôi đã quản lý để có được xung quanh vụ tai nạn với một chút của một hack tinh ranh. Trong vòng lặp, tôi kiểm tra xem đó là lần đầu tiên. Nếu đó là tôi lưu. Điều này hoạt động như thể tôi chỉ thêm một đối tượng lúc đầu, điều này ngăn cản nó bị lỗi khi tôi thêm nhiều. Điều này sẽ giúp tôi nhưng tôi vẫn muốn biết tại sao điều này lại xảy ra để tôi có thể sửa nó đúng cách. –