我有一个很奇怪的问题。我正在使用 coredata 来保存笔记。我可以访问/保存/编辑“Notes”实体的所有属性,除了一个:类别。
-(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 是一个字符串,作为类别属性。奇怪的是我使用完全相同的代码来更改标题属性,而且我没有任何问题。
日志文件:
2013-11-07 15:49:20.286 简单注释 1[16511:a0b]-[__NSCFString managedObjectContext]:无法识别的选择器发送到实例 0x8dccc30 2013-11-07 15:49:20.293 简单注释 1[16511:a0b] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFString managedObjectContext]:无法识别的选择器发送到实例 0x8dccc30”
您知道为什么此属性的行为与其他属性不同吗?谢谢你。