为什么 Apple 在使用 NSFileManagerDelegate 时建议使用自己的 NSFileManager?
Why Apple suggests use your own NSFileManager when you use NSFileManagerDelegate?
在 defaultManager
的苹果文档中,他们说:
This method always returns the same file manager object. If you plan to use a delegate with the file manager to receive notifications about the completion of file-based operations, you should create a new instance of NSFileManager (using the init method) rather than using the shared object.
我只是想知道为什么他们建议在您使用文件管理器的委托时使用 NFileManager 的新实例?如果我使用共享文件管理器执行此操作有什么问题?
我唯一能看到的就是你的delegate对象会收到很多你不想知道的通知,还有吗?
你的最后一段就差不多了。如果您在共享文件管理器上设置委托,您的委托最终会被调用的次数超出您的预期。通过创建 NSFileManager
的特定实例并设置该实例的 delegate
,然后您知道委托方法仅针对文件管理器的特定用途而不是所有默认用途被调用。
请记住,默认文件管理器实例可以被比您自己的代码更多的人使用。许多其他库和框架也将使用它。
在 defaultManager
的苹果文档中,他们说:
This method always returns the same file manager object. If you plan to use a delegate with the file manager to receive notifications about the completion of file-based operations, you should create a new instance of NSFileManager (using the init method) rather than using the shared object.
我只是想知道为什么他们建议在您使用文件管理器的委托时使用 NFileManager 的新实例?如果我使用共享文件管理器执行此操作有什么问题?
我唯一能看到的就是你的delegate对象会收到很多你不想知道的通知,还有吗?
你的最后一段就差不多了。如果您在共享文件管理器上设置委托,您的委托最终会被调用的次数超出您的预期。通过创建 NSFileManager
的特定实例并设置该实例的 delegate
,然后您知道委托方法仅针对文件管理器的特定用途而不是所有默认用途被调用。
请记住,默认文件管理器实例可以被比您自己的代码更多的人使用。许多其他库和框架也将使用它。