У меня довольно странная проблема. Я использую coredata для сохранения заметок. Я могу получить доступ/сохранить/изменить все атрибуты объекта «Примечания», кроме одной: категории.Ошибка приложений с одним атрибутом основных данных
-(void)editCategory {
NSFetchRequest *request = [[NSFetchRequest alloc]init];
NSEntityDescription *categRequest = [NSEntityDescription entityForName:@"Notes" inManagedObjectContext:_managedObjectContext];
request.predicate = [NSPredicate predicateWithFormat:@"text = %@", noteToEdit];
[request setEntity:categRequest];
//Error handling
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:&error]mutableCopy];
if (mutableFetchResults == nil) {
NSLog(@"Error happened : %@", error);
}
Notes *editMe = [mutableFetchResults objectAtIndex:0];
[editMe setCategory:editCategoryText];
NSLog(@"Category from pickerview : %@", editCategoryText);
if (![_managedObjectContext save:&error]) {
NSLog(@"couldnt save : %@", error);
}
}
Эта линия:
[editMe setCategory:editCategoryText];
разваливается. editCategoryText - это строка, как атрибут категории. Странно то, что я использую тот же самый фрагмент кода, чтобы изменить атрибут title, и у меня нет никаких проблем.
файл журнала:
2013-11-07 15:49:20.286 Simple Notes 1[16511:a0b] -[__NSCFString managedObjectContext]: unrecognized selector sent to instance 0x8dccc30 2013-11-07 15:49:20.293 Simple Notes 1[16511:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString managedObjectContext]: unrecognized selector sent to instance 0x8dccc30'
У вас есть идея, почему этот атрибут ведет себя иначе, чем другие? Спасибо.
Попробуйте использовать NSArray для результатов, а не для mutableArray. –