当你使用NSFileManagerDelegate时,为什么苹果建议使用你自己的NSFileManager



defaultManager的apple文档中他们说:

这个方法总是返回相同的文件管理器对象。如果你打算在文件管理器中使用委托来接收关于基于文件的操作完成的通知,你应该创建一个NSFileManager的新实例(使用init方法),而不是使用共享对象。

我只是想知道为什么他们建议使用一个新的NFileManager实例当你使用一个委托的文件管理器?如果我使用共享文件管理器来执行此操作,会出现什么问题?

我唯一能看到的是你的委派对象会收到很多你不想知道的通知,还有别的吗?

你的最后一段就差不多了。如果你在共享文件管理器上设置委托,你的委托最终被调用的次数会比你想要的多。通过创建NSFileManager的特定实例并设置该实例的delegate,那么您就知道委托方法仅在文件管理器的特定使用中被调用,而不是所有默认使用。

请记住,默认的文件管理器实例可以被您自己的代码以外的许多其他代码使用。许多其他库和框架也将使用它。

最新更新