Tôi đã thêm tất cả mã có liên quan vào App Delegate và tôi có thể thêm vào mô hình dữ liệu và tìm nạp từ mô hình dữ liệu trong applicationDidFinishLaunchingWithOptions.'+ entityForName: nil không phải là tham số NSManagedObjectContext hợp pháp - Dữ liệu cốt lõi
Sự cố của tôi xuất hiện khi tôi cố ghi vào mô hình dữ liệu trong Trình điều khiển chế độ xem của mình. Tôi đã thêm mã này vào file header:
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
Và mã này vào tập tin thực thi của tôi:
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *model = [NSEntityDescription
insertNewObjectForEntityForName:@"Events"
inManagedObjectContext:context];
[model setValue:@"Sample Event" forKey:@"eventName"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Couldn't save: %@", [error localizedDescription]);
}
Tuy nhiên, tôi nhận được lỗi sau:
'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Events''
Có ai biết chuyện gì vậy? Bất kỳ trợ giúp sẽ được đánh giá cao.
Tôi nghĩ ngữ cảnh là không. Hãy chắc chắn rằng [self managedObjectContext] không trả về nil – mask8
Lưu ý vì lý do của hậu thế, bạn có thể gặp lỗi này nếu bạn chuyển ivar cho ManagedObjectContext thay vì sử dụng phương thức getter – Matthematics