2013-07-23 3 views
6

Я использую разбор для хранения моих объектов. Когда я иду на поиск объектов, я получаю объекты в случайном порядке, как это выглядит. I Believe Parse не учитывает секунды, всего несколько минут, и если объекты сделаны в одну минуту, это возвращает мне объекты в случайном порядке.Как получить объекты в том порядке, в котором они были созданы?

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

Я «фильтрую» объекты, которые я получаю с помощью ключа.

Я получаю объекты, но все они не в порядке. Я могу прикрепить миллисекунды к этому объекту, когда он создан (тип датыSince1970), но я не хочу этого делать. Есть ли встроенный способ сделать это в Parse?

ответ

36

да, есть встроенный функция, предоставляемая Parse.
вы можете использовать updatedAt или createdAt атрибуты класса. и вы также помещаете это в запрос.

// 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

Я не думаю, что работает .. пытался, что в моем коде, но сообщения появляются случайным образом. – genaks

+0

Это не работает. – Ronaldoh1

5

Я надеюсь, что это поможет вам

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

Анализировать сама сохраняет дату она была создана и обновляется. Возможно, вы захотите использовать дату, когда она была создана.

Посмотрите на этой документации: https://parse.com/docs/ios_guide#top/iOS

Пример:

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

Надеется, что это помогает ...

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

в моем случае, мне нужно добавить кастинг, 'NSDate * objectCreatedDate = ((PFObject *) объект) .createdAt;' (спасибо lakesh) – tmr

Смежные вопросы