我还是NSMangedObject
s 的新手,我在替换某个索引处的对象时遇到了麻烦。
for (NSString *file in filelist){
NSManagedObject *fileEntity = [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
[fileEntity setValue:file forKey:@"filename"];
NSImage *audioImage = [NSImage imageNamed:@"tag_white.png"];
[fileEntity setValue:audioImage forKey:@"taggedImage"];
[markedAudioFiles addObject:audioImage];
}
如您所见,我可以轻松地插入托管对象。它显示表格上的文件和所有内容。但是,我想更改@"taggedImage"
键的某个索引处的一些值。
所以我尝试了这样的事情:
NSEntityDescription *fileEntity = [NSEntityDescription entityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
NSImage *audioImage = [NSImage imageNamed:@"tag_green.png"];
[fileEntity replaceValueAtIndex:index inPropertyWithKey:@"taggedImage" withValue:audioImage];
我得到的错误是:
[ valueForUndefinedKey:]:这个类对于键 taggedImage 不符合键值编码。
我什至尝试将fileEntity
上面的声明替换为
NSManagedObject *fileEntity = [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
但由于它不是一个新对象,我认为这是错误的。