是否有任何情况下使用而不是 init]更好?
在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]
是线程安全的。
文档build议你应该创build自己的实例,如果你需要使用NSFileManagerDelegate
。
最后,创build自己的实例应该总是很好,但除非您需要委托,否则不需要创build自己的实例。
是。 只要使用[[NSFileManager alloc] init]
总是可以的。 +defaultManager
实际上只是为了方便,但是正如你所指出的那样,在使用它的时候存在线程安全方面的担忧。 只要确保你记得当你完成它时释放你的alloc的NSFileManager
。