0

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

4

0 回答 0