我有一个可选的二进制属性:image,其中包含我的实体的图像。
在界面中,我有NSImageView(图像良好)和“删除图像”按钮。单击图像删除按钮后,我将执行以下操作:

- (IBAction)saveAction:(id)sender {
  NSError *error = nil;
  if (![[self managedObjectContext] save:&error]) {
    [[NSApplication sharedApplication] presentError:error];
  }
  [tableView reloadData];
}

- (IBAction)removeImage:(id)sender {
  [image setImage:nil]; // image is a NSImageView outlet bound to the image attribute.
  [self saveAction:sender];
}


它从NSImageView清除图像,但是二进制数据仍保留在Core Data实体中。

我如何在核心数据实体中反映变化?

谢谢!

编辑:

NSImageView已经绑定到模型的图像属性,并且也可以作为插座使用。所以我只是在找人告诉我如何通过获取模型来重置属性(如果那是我需要做的)。

希望得到任何代码帮助。 :)

最佳答案

[image setImage:nil];



image实际上是图像视图吗?如果是这样,我必须提醒您清楚,准确地命名实例变量。

您需要设置模型对象而不是视图的image属性。通过控制器将视图绑定到模型;然后,当您更改模型时,视图将免费收取更改。

关于objective-c - 在核心数据实体中删除二进制属性的数据(用于NSImageView),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1035847/

10-14 21:39
查看更多