Chcę uzyskać kontekst obiektu zarządzanego z AppDelegate, ale aplikacja uległa awarii po umieszczeniu dwóch linii kodu w metodzie, nawet ja nie zrobiłem nic innego, i było komunikat w obszarze debugowania: "CoreData: nie można załadować NSManagedObjectModel nil jest nielegalne parametr URL ..."."Nie można załadować NSManagedObjectModel. Nil jest niedozwolonym parametrem adresu URL"
kod dodaną w mojej metody:
AppDelegate *delegate = [UIApplication sharedApplication].delegate;
NSManagedObjectContext *managedObjectContext = delegate.managedObjectContext;
metoda -managedObjectModel w AppDelegate:
- (NSManagedObjectModel *)managedObjectModel {
// The managed object model for the application. It is a fatal error for the application not to be able to find and load its model.
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"FoodPin" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
i -managedObjectContext metoda:
- (NSManagedObjectContext *)managedObjectContext {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.)
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (!coordinator) {
return nil;
}
_managedObjectContext = [[NSManagedObjectContext alloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
return _managedObjectContext;
}
"FoodPin" to moja nazwa projektu .Tak co się dzieje tutaj jestem nowy w programowaniu iPhone (Core danych w szczególności)?.
Czy ktoś może mi pomóc?
Dzięki ...
Problem polega na tym, że '[[NSBundle mainBundle] URLForResource: @" FoodPin "withExtension: @" momd "];' zwraca zero do 'modelURL'. Czy posiadasz w swoim projekcie model Core Data o nazwie FoodPin? –
Och ... dziękuję, zapomniałem zmienić moje imię pliku .xcdatamodeld! – ZyusAn