我有一个NSTableView
,我使用绑定到ArrayController
,我可以打开一个目录并在表格中显示文件就好了。我还有一个包含图像的列。我退出了应用程序并返回,文件列表仍然存在,这就是我想要的!
现在我遇到问题的部分是,我按下按钮时更改图像并关闭应用程序并重新打开旧图像,而不是新图像。图像名称也是空的。
这是我更新CoreData中图像的方式
NSEntityDescription *entity = [NSEntityDescription entityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
[request setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects =[_managedObjectContext executeFetchRequest:request error:&error];
NSManagedObject *object = [fetchedObjects objectAtIndex:currentAudioIndex];
NSImage *image = [object valueForKey:@"taggedImage"];
if ([[image name] isEqualToString:@"tag_green"]) {
NSImage *tagImage = [NSImage imageNamed:@"tag_red.png"];
[object setValue:tagImage forKey:@"taggedImage"];
}
当打开目录并获取文件列表时,我可以更改图像并更新表格,但是当我关闭应用程序并重新打开它时,文件就在那里,更改的图像不是,当我尝试使用上面的代码更改图像,表示图像名称为NULL
。