Sto creando un'applicazione in cui è necessario memorizzare alcune informazioni fornite dall'utente. Io cerco di utilizzare un file .plist per memorizzare le informazioni, ho trovato questo:iPhone read/write .plist file
NSString *filePath = @"/Users/Denis/Documents/Xcode/iPhone/MLBB/data.plist";
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict setValue:@"Man" forKey:@"Gender"];
[plistDict writeToFile:filePath atomically: YES];
Il problema è che l'applicazione funziona solo finché sto testando nel simulatore di iPhone. Ho provato questo Changing Data in a Plist ma senza fortuna. Ho anche letto qualcosa a riguardo che ho bisogno di aggiungerlo al mio pacchetto, ma come?
Nuovo codice:
- (IBAction)segmentControlChanged{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistLocation = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistLocation];
if (Gender.selectedSegmentIndex == 0) {
[plistDict setObject:@"Man" forKey:@"Gender"];
[plistDict writeToFile:plistLocation atomically: YES];
}
else
{
[plistDict setObject:@"Women" forKey:@"Gender"];
[plistDict writeToFile:plistLocation atomically: YES];
}
}
No, non ho provato a farlo funzionare su un dispositivo "reale", ma non mi aspetto che verrà eseguito, perché la directory non esiste su un dispositivo "reale". So che possono essere letti/scritti solo dalla loro directory, ma come faccio a dire a Xcode di usare il file denominato data.plist nella directory delle applicazioni invece di/Users/Denis/Documents/Xcode/iPhone/MLBB/data. plist? Mi sento come n00b :-) – Deni
Quel link che ho postato mostra come ottenere la directory dei documenti come una stringa. Utilizzare stringByAppendingString per aggiungere il nome del plist alla fine, quindi utilizzare il codice specificato. Questo è tutto :) – Nick
Scusa, ma non so cosa intendi. Ho scritto NSString * filePath = [NSHomeDirectory() stringByAppendingPathComponent: @ "Documenti"]; Ma non penso che sia ciò che intendi. Puoi per favore modificare il codice qui sopra in modo che funzioni e quando lo scrivi qui. Sono nuovo di Xcode e ora so come ci si sente ad essere un n00b :-) – Deni