有没有一些情况下更好使用[NSFileManager defaultManager]而不是[[NSFileManager alloc] init]?

3
2个回答

6

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

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

总之,创建自己的实例始终是可以的,但是除非需要代理,否则没有必要创建自己的实例。


文档链接 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/index.html#//apple_ref/doc/uid/20000305-CJBEJDCD - Daniel Galasko

2

没问题。只使用[[NSFileManager alloc] init]是完全可以的。+defaultManager只是为了方便而存在,但正如你所指出的,使用它存在线程安全问题。只要记得在使用完之后释放已分配的NSFileManager即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接