Domanda

Sto sviluppando un'applicazione per iPhone, in cui voglio utilizzare un file .plist per salvare alcune variabili di configurazione.

nel mio Xcode dove creare il file .plist e come accedervi ???

grazie,

È stato utile?

Soluzione

Si potrebbe inserire nella cartella risorse. Quindi utilizzare qualcosa di simile per caricarlo:

NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];

Dove TwitterUsers è il nome del file plist.

Se il file plist contenente chiavi e valori si dovrebbe fare la seconda linea un NSDictionary invece di NSArray.

Altri suggerimenti

Per memorizzare il file plist nella directory Documenti si dovrà includere il file plist nella vostra app e poi al primo avvio copiarlo directory Documenti.

Per ottenere l'accesso al file nella directory Documenti:

NSArray *paths = 
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                    NSUserDomainMask, YES); 
NSString *documentsPath = [paths objectAtIndex:0]; 

// <Application Home>/Documents/foo.plist 
NSString *fooPath = 
[documentsPath stringByAppendingPathComponent:@“foo.plist”];

mi sento di raccomandare mantenendolo nella directory di risorse nel pacchetto app, ma si può semplicemente trascinare nella finestra del progetto. Il metodo NSBundle pathForResource:ofType: dovrebbe darvi un percorso, che è possibile passare a NSDictionary di dictionaryWithContentsOfFile:.

Modifica: Spiacenti, esempio di codice completo (ho pensato già copiato e incollato):

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];

Modifica Just accaduto a me "variabili di configurazione" potrebbe non essere immutabili. Se questo è il caso, ignorare questa risposta.

mi sento di raccomandare di utilizzare NSUserDefaults per memorizzare le variabili di configurazione, invece di installare il proprio sistema.

Se si sta modificando un .plist all'interno del bundle dell'applicazione, si rischia di invalidare la firma sul fascio, mentre non finirà bene.

Se è necessario archiviare e modificare il proprio .plist, memorizzarlo nella directory Documents, che è anche il luogo dove l'applicazione dovrebbe archiviare tutto ciò che si scarica, crea, ecc Vedere Gestione dei file e dei dati e NSFileManager .

Per impostazione predefinita, se hai inserito il plist nel progetto ovunque (in Risorse o in altro modo) XCode copierà in bundle applicazione in cui si può arrivare ad essa con la chiamata pathForResource di cui sopra. Ho pensato di ricordare che, come si potrebbe preferire un raggruppamento in cui non si dispone di risorse in ...

è possibile trovare l'esempio libro sqlite ..... il file di dati silte era salva nella directory 'documento' .... saprete il prcess

  1. Perché dovrebbe invalidare il bundle?

  2. Sarebbe questo file plist nella cartella risorse eseguire il backup in iTunes come file nella cartella documenti?

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