Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 2061
Lager noen spill for iPad som har highscores.

Slik lagrer jeg verdien av en integer (poeng):

Kode

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:poeng] forKey:@"poeng"];
Slik henter jeg den i view did load:

Kode

poeng = [[[NSUserDefaults standardUserDefaults] objectForKey:@"poeng"] integerValue];
Hvordan kan jeg lagre og hente teksten som er i en label? Der står altså navnet på den som har highscoren. Men når appen åpnes noen dager etterpå, er jo navnet borte...
Du kan f.eks. bruke serialization til å lagre data til en fil: http://stackoverflow.com/questions/7...ects-into-json
Er det noe som dette du mener?

Henter og lagrer tekst som eksisterer i en label:
[[NSUserDefaults standardUserDefaults] setObject:[minLabel text] forKey:@"HighscoreNavn"];
Vis hele sitatet...
Denne koden kan deretter puttes i viewDidLoad så den lagrede teksten igjen kan lastes inn i labelen ved åpning av appen igjen:
minLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"HighscoreNavn"];
Vis hele sitatet...
Forresten så bør denne delen av koden
[NSUserDefaults standardUserDefaults]
Vis hele sitatet...
heller være i en variabel på denne måten:
NSUserDefaults *lager = [NSUserDefaults standardUserDefaults];
Vis hele sitatet...
Da eksempelet ditt allokerer minne for to NSUserDefaults som blir overflødig allokering, og kan om det gjøres i stor grad nok gjøre appen tregere å kjøre... En peker til kun en instans av NSUserDefaults ville vært bedre.

Har forresten ikke kjørt denne koden i XCode. Bare så det er sagt. Bare kodet rett ut fra minne..
Sist endret av Proggy; 7. desember 2014 kl. 15:56.
Takk skal dere ha, begge to.

Jeg testet Proggys løsning, siden den var noe slikt jeg hadde sett for meg, og prøvd uten å lykkes helt. Men denne virket fint. Takk også for råd ang. allokering.

Får sette meg inn i serialization en annen gang.
[NSUserDefaults StandardUserDefaults] er en shared instance/singleton, og vil gi deg det samme objektet hver gang.
Du vil ikke allokere mer minne av å bruke den flere ganger slik du har gjort.