Domanda

Nella mia applicazione, ho un semplice file ASCII che memorizza alcune config info e altre piccole info che usa e modifiche.Voglio copiare il file su iPhone con l'app.

1) la Prego di dirmi dove devo mettere questo file config.txt) in xcode.Devo metterlo in Risorse ?

2) Come posso accedere in iPhone ?Posso solo usare

str = [NSString stringWithContentsOfFile:@"config.txt"] 

o devo usare un più completo del percorso;se sì, qual è ?

È stato utile?

Soluzione

Si dovrebbe usare NSUserDefaults per memorizzare le impostazioni utente, se l'applicazione è possibile cambiare loro.La documentazione è qui.

Le impostazioni vengono memorizzate come file plist, in modo da poter memorizzare NSDictionary le istanze, NSArray le istanze, etc.

Se si desidera pre-compilare il NSUserDefaults con alcune impostazioni, è possibile farlo con un po ' di codice come questo:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"defaults" ofType:@"plist"];
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:filePath];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

Hai bisogno di mettere un default.file plist delle Risorse la cartella con le impostazioni di default, e utilizzare il codice riportato sopra.Ho eseguito questo codice AppDelegate s +(void)initialize il metodo, ma si può scegliere un altro luogo per effettuare la chiamata.

Altri suggerimenti

Si può mettere in Risorse, sì.Per ottenere il file, allora, si può semplicemente utilizzare:

[[NSBundle mainBundle] pathForResource:@"config" ofType:@"txt" inDirectory:@""]]

Mi permetto di suggerire NSUserDefaults per le impostazioni, tuttavia?Essa vi consente di risparmiare un sacco di problemi in lettura e scrittura.

E se si desidera recuperare il NSUserDefaults, è possibile effettuare le seguenti operazioni:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// getting a NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];

// getting a NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];

// getting a Float
float myFloat = [prefs floatForKey:@"floatKey"];

Se nsuserdefaults non soddisfa le vostre esigenze, si potrebbe salvare la config informazioni in un file nella cartella Documenti.Se il file non esiste, all'avvio, quindi leggere la versione in Risorse.

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