我有一个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
.