Cum pot compara utilizatorii ultimei utilizări cu data curentă?

Aș dori să stochez ultima utilizare a aplicației de către utilizator și să o comparăm cu data curentă.

Potrivit comparației, aș dori să fac o notificare pe ecran.

Cum și unde pun în aplicare codul de salvare a ultimei date? (nu în ApplicationWillTerminate așa cum am citit în alt thread aici) Cum și unde pun în aplicare codul de citire a acestei valori?

(Ar trebui să fie un NSDate și să utilizați o declarație if, desigur ..)

0

1 răspunsuri

Utilizatorul NSUserDefaults care a fost construit doar pentru aceste tipuri de lucruri (este o stocare cu valori cheie persistente, cu unele limitări). Iată un fragment rapid:

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];

// Write current date & time
[sharedDefaults setObject:[NSDate date] forKey:@"lastUsed"];
[sharedDefaults synchronize];//This makes sure your changes are written to disk

// Read date & time
NSDate *lastStart = [sharedDefaults objectForKey:@"lastUsed"];

Unde doriți să plasați acest lucru depinde de exact ceea ce doriți să măsurați.

0
adăugat
Tnx! Am salvat data cu "applicationDidEnterBackground" și am folosit comanda de citire în vizualizarea meaDidLoad. acum voi calcula diferența cu timeInterval și de ieșire de notificare în consecință. Acum, când omoară aplicația cu dublul clic pe btn-ul de acasă și țineți pictograma, nu pot re-deschide aplicația: - \ pune "(lldb)" în zona de depanare la xcode și dosentul aplicației încărcați mai mult (până când am "Build & Run" din nou) Are legătură cu ceva ce tocmai am făcut?
adăugat autor Gal Gibli, sursa
Asta nu are nimic de-a face cu schimbările tale recente. Când omori aplicația în simulator, procesul de depanare se execută și se atașează la procesul de simulator ucis, împiedicând astfel reluarea aplicației. Îndepărtați conexiunea de depanare înainte de a încerca să reporniți (Google este prietenul dvs. :))
adăugat autor Robin, sursa