defaultManagerを介してNSFileManagerのインスタンスを取得し、メインキューの外で使用しても大丈夫ですか?
このコードは大丈夫ですか?
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(q, ^{
NSFileManager *fm = [NSFileManager defaultManager];
});
defaultManagerを介してNSFileManagerのインスタンスを取得し、メインキューの外で使用しても大丈夫ですか?
このコードは大丈夫ですか?
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(q, ^{
NSFileManager *fm = [NSFileManager defaultManager];
});
共有NSFileManagerオブジェクトのメソッドは、複数のスレッドから安全に呼び出すことができます。ただし、デリゲートを使用して移動、コピー、削除、およびリンク操作のステータスに関する通知を受信する場合は、ファイルマネージャーオブジェクトの一意のインスタンスを作成し、デリゲートをそのオブジェクトに割り当て、そのファイルマネージャーを使用して開始する必要があります。あなたの操作。
ドキュメントから:
共有NSFileManagerオブジェクトのメソッドは、複数のスレッドから安全に呼び出すことができます。ただし、デリゲートを使用して移動、コピー、削除、およびリンク操作のステータスに関する通知を受信する場合は、ファイルマネージャーオブジェクトの一意のインスタンスを作成し、デリゲートをそのオブジェクトに割り当て、そのファイルマネージャーを使用して開始する必要があります。あなたの操作。
NSFileManager
ドキュメントから直接:
スレッドに関する考慮事項
共有NSFileManagerオブジェクトのメソッドは、複数のスレッドから安全に呼び出すことができます。ただし、デリゲートを使用して移動、コピー、削除、およびリンク操作のステータスに関する通知を受信する場合は、ファイルマネージャーオブジェクトの一意のインスタンスを作成し、デリゲートをそのオブジェクトに割り当て、そのファイルマネージャーを使用して開始する必要があります。あなたの操作。