Я намерен сделать простую функцию в AppDelegate для хранения некоторых данных в базе данных (CoreData), которые будут вызываться из разных классов ViewController
, подключенных до AppDelegate
. Это тело этой функции:CoreData (сохранение нового объекта) в AppDelegate = SIGABRT
- (void) setSetting:(NSString *)setting :(NSString *)value {
NSManagedObject* newSetting = [NSEntityDescription insertNewObjectForEntityForName:@"EntityName" inManagedObjectContext:self.managedObjectContext];
[newSetting setValue:value forKey:setting];
NSError* error;
[self.managedObjectContext save:&error];
}
Но вызов этой функции (даже из самого AppDelegate) возвращает SIGABRT на линии с setValue
Но когда я реализовать функцию в ViewController
классе (замене self.
с правильным подключением до AppDelegate
, конечно) - это работает штраф.
Я не понимаю, и я очень благодарен за помощь в создании гибкой функции в AppDelegate
для сохранения данных в базе данных.
Ваша сущность действительно называется «EntityName»? – Rog
У вас есть свойство 'setting' в делегате приложения? – TechZen
@Rog: Это просто пример. – Heps