我有一个符合NSFilePresenter协议的对象,它代表了我的基于文档的应用程序文档包。当在包内创建一个新文件时,无论是编程使用NSFileManager与NSFileCoordination方法或通过Finder我只有-presentedSubitemDidChangeAtURL:
事件,但在这种情况下看起来不那么明显-presentedSubitemDidAppearAtURL:
。NSFilePresenter -presentedSubitemDidAppearAtURL:方法永远不会被调用
这是预期的行为还是我做错了什么?
在NSFilePresenter状态明确的上-presentedSubitemDidAppearAtURL:
评论:
被通知通过该目录包含文件或目录已被添加。如果此方法未实现但
-presentedItemDidChange
是,并且目录实际上是文件包,则文件协调机器将调用-presentedItemDidChange
。
我想你没有实现'-presentedItemDidChange'? – charles
[这里](http://www.objc.io/issue-10/icloud-document-store.html)是一个与这个问题有关的好贴子,我的结论是;不要使用'NSFilePresenter'。 – Eonil
GCD似乎是要走的路。 [使用GCD处理文件系统事件](http://www.davidhamrick.com/2011/10/10/handling-filesystem-events-with-gcd.html) – Eonil