2013-07-23 14 views
6

Sto usando parse per memorizzare i miei oggetti. Quando vado a recuperare oggetti, ottengo gli oggetti in un ordine casuale che sembra. Credo che Parse non tenga conto dei secondi, solo pochi minuti, e se gli oggetti sono fatti nello stesso minuto, mi restituiscono gli oggetti in un ordine casuale.Come posso recuperare oggetti nell'ordine in cui sono stati creati?

PFQuery *query = [PFQuery queryWithClassName:@"ChatMessage"]; 
[query whereKey:@"alert" equalTo:myAlert]; 

Sto "filtrando" gli oggetti che ottengo con una chiave.

Ottengo gli oggetti, sono tutti fuori uso però. Posso allegare millisecondi a questo oggetto quando viene creato (cosa di tipo dateSince1970), ma non voglio farlo. C'è un modo per farlo in Parse?

risposta

36

sì, c'è costruito in- funzione fornita da Parse.
è possibile utilizzare gli attributi aggiornatiAt o createdAt della classe. e lo metti anche in query.

// Sorts the results in ascending order by the created date 
[query orderByAscending:@"createdAt"]; 

// Sorts the results in descending order by the created date 
[query orderByDescending:@"createdAt"]; 
+3

Non penso che funzioni .. provato nel mio codice ma i post appaiono in modo casuale .. – genaks

+0

Questo non funziona. – Ronaldoh1

5

spero che vi aiuterà a

PFQuery *query = [PFQuery queryWithClassName:@"ChatMessage" ]; 
[query orderByDescending:@"createdAt"]; 
query.limit =10; 
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
if (!error) { 
    //you will get all your objectsas per u created ur object in parse. 
    } 
}]; 
2

Parse si salva la data di creazione e aggiornato. Forse vorresti usare la data in cui è stata creata.

Guardate questa documentazione: https://parse.com/docs/ios_guide#top/iOS

Esempio:

NSDate *updatedAt = gameScore.updatedAt; 
NSDate *createdAt = gameScore.createdAt; 

Spero che questo ti aiuta ...

Edit:

// Sorts the results in ascending order by the score field 
[query orderByAscending:@"score"]; 

// Sorts the results in descending order by the score field 
[query orderByDescending:@"score"]; 
+0

nel mio caso, avevo bisogno di aggiungere casting, 'NSDate * objectCreatedDate = ((PFObject *) oggetto) .createdAt;' (grazie laghi) – tmr

Problemi correlati