在iOS中,我知道有时[[NSFileManager alloc] init]更好 - 特别是当[NSFileManager defaultManager]可能不是线程安全时。参考:http://useyourloaf.com/blog/2011/06/12/nsfilemanager-defaultmanager-is-not-thread-safe.html
仅使用[[NSFileManager alloc] init]是否总是可以的?
答案 0 :(得分:5)
文档声明[NSFileManager defaultManager]
是线程安全的。
如果您需要使用NSFileManagerDelegate
,文档建议您创建自己的实例。
最后,创建自己的实例应始终没问题,但除非您需要委托,否则无需创建自己的实例。
答案 1 :(得分:2)
是。只需使用[[NSFileManager alloc] init]
即可。 +defaultManager
实际上只是为了方便起见,但正如您所指出的那样,使用它时会遇到线程安全问题。只要确保你记得在完成后释放你已经分配的NSFileManager
。