10

可以通過defaultManager獲取NSFileManager的實例並在主隊列之外使用它嗎?NSFileManager線程安全嗎?

代碼無效鏈接。

dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 

dispatch_async(q, ^{ 

    NSFileManager *fm = [NSFileManager defaultManager]; 

}); 

回答

23

NSFileManager Class Reference

共享的NSFileManager對象的方法可從 多個線程安全調用。但是,如果您使用委託來接收有關移動,複製,刪除和鏈接 操作狀態的 通知,則應創建文件管理器的唯一實例 對象,將您的委託分配給該對象並使用該文件經理 開始您的操作。

7

documentation

共享的NSFileManager對象的方法可從多個線程安全調用。但是,如果使用委託來接收有關移動,複製,刪除和鏈接操作狀態的通知,則應創建文件管理器對象的唯一實例,將委託指定給該對象,然後使用該文件管理器啓動你的操作。

5
NSFileManager documentation

直接:

線程思考

共享的NSFileManager 對象的方法可從多個線程安全調用。但是,如果您使用 委派來接收有關移動,複製,刪除和鏈接操作狀態的通知,則應該創建文件管理器對象的唯一實例 ,將您的委託分配給該對象,並使用 文件管理器啓動您的操作。

+1

大聲笑,在不到2分鐘內,三個幾乎完全相同的答案 – Martin 2016-07-22 12:04:55