我有一个符合NSFilePresenter协议的对象,它表示基于文档的应用程序文档包.当在包中创建一个新文件时,无论是以编程方式使用NSFileManager和适当的NSFileCoordination方法,还是通过Finder,我只获得了-presentedSubitemDidChangeAtURL:事件,但在本例中并不是那么明显-- -presentedSubitemDidAppearAtURL:。
这是一种预期的行为还是我做错了什么?
-presentedSubitemDidAppearAtURL:在NSFilePresenter中的评论很清楚:
请通知已添加该目录所包含的文件或目录。如果这个方法没有实现,但是
-presentedItemDidChange实现了,并且目录实际上是一个文件包,那么文件协调机制将调用-presentedItemDidChange。
发布于 2013-10-13 09:42:16
在与这个问题斗争了很长一段时间后,我打开了一个与苹果的技术支持问题。他们的反应是,这是一个bug,我们现在唯一能做的就是通过-presentedSubitemDidChangeAtURL:完成所有事情。
我鼓励任何遇到这个问题的人提交一个bug (https://bugreport.apple.com)来鼓励苹果尽快解决这个问题。
发布于 2015-10-14 22:30:44
您的演示器对象没有收到直接使用对文件的低级别读和写调用进行的更改的通知。只有通过文件协调器进行的更改才会导致通知。
https://stackoverflow.com/questions/12389726
复制相似问题