在iOS中,我知道有时候使用[[NSFileManager alloc] init]更好-尤其是在[NSFileManager defaultManager]可能不是线程安全的情况下。参考:http://useyourloaf.com/blog/2011/06/12/nsfilemanager-defaultmanager-is-not-thread-safe.html
只使用[[NSFileManager alloc] init]是否总是可以?
文档说明[NSFileManager defaultManager]
是线程安全的。
文档建议如果需要使用NSFileManagerDelegate
,应创建自己的实例。
总之,创建自己的实例始终是可以的,但是除非需要代理,否则没有必要创建自己的实例。
没问题。只使用[[NSFileManager alloc] init]
是完全可以的。+defaultManager
只是为了方便而存在,但正如你所指出的,使用它存在线程安全问题。只要记得在使用完之后释放已分配的NSFileManager
即可。