Ho plist nella mia app per iPhone e voglio leggere e scrivere un numero intero dal mio singolo e formarlo.Scrivi/Leggi file plist iPhone
ho questo leggerlo:
scoreData *score = [scoreData sharedData];
filePath = @"stats.plist";
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
score.highScore = [plistDict objectForKey:@"score"];
Poi, per scrivere su di esso:
scoreData *score = [scoreData sharedData];
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict setValue:score.highScore forKey:@"score"];
[plistDict writeToFile:filePath atomically: YES];
sto ottenendo un errore in entrambe le parti:
conversione non valido modulo objc_object * a int
e
Form di conversione non valido int to objc_object
Apprezzo qualsiasi aiuto, grazie.
Costruisce senza errori nw che è fantastico! Ma cambio score.highScore, quindi esco completamente dall'app, rilancio e il suo ritorno a zero, non ottiene mai il valore indietro. Gradirei l'aiuto, grazie. –
Scoperta interessante. Penso che il codice che sto usando lo scriva e lo stia leggendo ma in realtà non lo sto salvando per quando utilizzerò l'app. Possibile? Come posso aggirare questo? –
Probabilmente non funziona perché stai provando a scrivere il dizionario in un file .plist all'interno del tuo pacchetto App, che è di sola lettura. Dovresti controllare il valore restituito di '[plistDict writeToFile: filePath atomically: YES];' (SÌ = successo, NO = scrittura fallita). Provare a scrivere il file in un percorso nella cartella dei documenti del pacchetto di app, che è in lettura-scrittura.È possibile ottenere il percorso dei documenti utilizzando: NSArray * arrayPaths = \t \t NSSearchPathForDirectoriesInDomains ( \t \t \t NSDocumentDirectory, \t \t \t NSUserDomainMask, \t \t \t SI); \t NSString * docDir = [arrayPaths objectAtIndex: 0]; –