是否有任何情况下使用[NSFileManager defaultManager]而不是[[NSFileManager alloc] init]更好?

时间:2013-05-06 18:21:44

标签: ios

在iOS中,我知道有时[[NSFileManager alloc] init]更好 - 特别是当[NSFileManager defaultManager]可能不是线程安全时。参考:http://useyourloaf.com/blog/2011/06/12/nsfilemanager-defaultmanager-is-not-thread-safe.html

仅使用[[NSFileManager alloc] init]是否总是可以的?

2 个答案:

答案 0 :(得分:5)

文档声明[NSFileManager defaultManager]是线程安全的。

如果您需要使用NSFileManagerDelegate,文档建议您创建自己的实例。

最后,创建自己的实例应始终没问题,但除非您需要委托,否则无需创建自己的实例。

答案 1 :(得分:2)

是。只需使用[[NSFileManager alloc] init]即可。 +defaultManager实际上只是为了方便起见,但正如您所指出的那样,使用它时会遇到线程安全问题。只要确保你记得在完成后释放你已经分配的NSFileManager

相关问题