10

Va bene ottenere un'istanza di NSFileManager tramite defaultManager e utilizzarlo al di fuori della coda principale?Filetto NSFileManager è sicuro?

Questo codice è ok?

dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 

dispatch_async(q, ^{ 

    NSFileManager *fm = [NSFileManager defaultManager]; 

}); 

risposta

23

Da NSFileManager Class Reference:

I metodi dell'oggetto NSFileManager condiviso possono essere richiamati dalla più thread modo sicuro. Tuttavia, se si utilizza un delegato per ricevere le notifiche sullo stato di spostamento, copia, rimozione e collegamento delle operazioni , è necessario creare un'istanza univoca dell'oggetto gestore file , assegnare il proprio delegato a tale oggetto e utilizzare tale file manager per avviare le operazioni.

7

Dal documentation:

I metodi dell'oggetto NSFileManager condivisa può essere chiamato da più thread modo sicuro. Tuttavia, se si utilizza un delegato per ricevere notifiche sullo stato delle operazioni di spostamento, copia, rimozione e collegamento, è necessario creare un'istanza univoca dell'oggetto gestore file, assegnare il proprio delegato a tale oggetto e utilizzare tale gestore file per l'avvio. le tue operazioni

5

Direttamente dal NSFileManager documentation:

Considerazioni filettatura

I metodi della NSFileManager oggetto condiviso può essere chiamato da più thread modo sicuro. Tuttavia, se si utilizza un delegato per ricevere notifiche sullo stato dello spostamento, copia, rimozione e operazioni di collegamento, è necessario creare un'istanza univoca di l'oggetto gestore file, assegnare il proprio delegato a tale oggetto e utilizzare che file manager per avviare le operazioni.

+1

lol, in meno di 2 minuti, tre risposte quasi esattamente uguali – Martin