Domanda

Sto progettando un'applicazione che legge i dati al touch / iPhone iPod che viene inviato ad esso tramite prese multicast con UDP e ho bisogno di memorizzare come file in una directory del documento. Ritiene che esiste sul su iPhone o iPod Touch? So che c'è NSFileHandle e NSFileManager, che è quello che ho intenzione di utilizzare, per prendersi cura di lettura e scrittura per il file, ma non sono sicuro dove la sezione "Documenti" di iPod touch è che se sai cosa voglio 'm dicendo. Non ho familiarità con la directory dei file iPod / iPhone che ancora bene, in modo che qualsiasi aiuto è apprezzato! C'è una sorta di directory "generale" che tutti gli sviluppatori usano per archiviare i propri file in se hanno alcun coinvolti nella loro applicazione?

È stato utile?

Soluzione

Si dovrebbe usare directory Documenti dell'applicazione per memorizzare i file persistenti. È possibile ottenere il percorso della directory di utilizzare questa funzione, che Apple include nel proprio modello per un'applicazione che utilizza Core Data:

/**
 Returns the path to the application's documents directory.
 */
- (NSString *)applicationDocumentsDirectory {

    NSArray *paths = 
      NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

Altri suggerimenti

Più recentemente, il modello per un'applicazione Core Data fornisce il codice in questo modo:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

Se il NSArray tornato da NSSearchPathForDirectoriesInDomains è vuoto, LastObject restituisce nil, quindi di conseguenza, il codice è più breve e più pulito.

Una cosa che si dovrebbe essere a conoscenza - come di iOS 5, non si dovrebbe mettere non-user--dati generati nella directory Documenti. La vostra applicazione può essere respinto. Invece si dovrebbe pensare di mettere tali registri nella directory Caches. Per ottenere il percorso di questo, è necessario sostituire NSDocumentDirectory con NSCachesDirectory nel codice di esempio qui sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top