我已经通过NSImageView
绑定将valuePath
绑定到磁盘上的文件。当我将新图像写到该位置时,我希望NSImageView
显示新图像。我该怎么做?
我尝试在绑定视图的对象上调用-didChangeValueForKey:
和-willChangeValueForKey:
,并在该对象上声明一个+keyPathsForValuesAffecting___
方法,但是我感到这些基于KVO的方法没有影响,因为图像的路径没有改变,只是其内容没有改变。
更改之后,我还尝试在图像视图上调用-setNeedsDisplay
和-updateCell:
,但这也不起作用。
更新资料
在写新图像之前,我将绑定对象上的-imagePath
属性(计算所得的属性)立即更改为@""
,然后紧接着又返回了正确的路径。这确实达到了预期的效果,但是我希望API中提供一种更正确的方法。感觉就像是骇客。
最佳答案
设置一个不同的值(空字符串@""
),然后恢复原始值。
关于objective-c - 当磁盘上的镜像更改时,如何使NSImageView刷新?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11480391/