【发布时间】:2012-09-12 13:49:30
【问题描述】:
我有一个符合 NSFilePresenter 协议的对象,它代表我的基于文档的应用程序文档包。当在包内创建新文件时,无论是使用具有适当 NSFileCoordination 方法的编程方式使用 NSFileManager 还是通过 Finder,我都只收到了 -presentedSubitemDidChangeAtURL: 事件,但在这种情况下似乎并不那么明显 -presentedSubitemDidAppearAtURL:。
这是预期的行为还是我做错了什么?
NSFilePresenter 中-presentedSubitemDidAppearAtURL: 上的 cmets 声明很清楚:
通知该目录包含的文件或目录已添加。如果这个方法没有实现但是
-presentedItemDidChange实现了,并且目录实际上是一个文件包,那么文件协调机制就会调用-presentedItemDidChange。
【问题讨论】:
-
我猜你没有实现
-presentedItemDidChange? -
Here 是一个与此问题相关的好帖子,我的结论是;不要使用
NSFilePresenter。 -
GCD 似乎是要走的路。 Handling Filesystem Events with GCD
-
@Eonil 就像你有任何选项可供选择。
标签: objective-c cocoa nsfilecoordinator