2012-02-29 2 views
8

Я просмотрел существующую документацию и не нашел ничего, подтверждающего поведение, которое я вижу.Coredata и NSOrderedSet - как определяется порядок набора?

Начиная с iOS 5, отношения CoreData можно упорядочить, и в этом случае возвращаемый объект является NSOrderedSet.

Можно ли подтвердить, что порядок объектов в наборе соответствует порядку, в котором они были созданы?

Приветствия, Рог

+1

Высматривайте эту ошибку на NSOrderedSet - вам необходимо изменить в чтобы сделать операции по переезду: http://stackoverflow.com/a/7922993/1046685 –

+0

Спасибо за головы! Damien! – Rog

ответ

2

Если вы не сортировать порядок самостоятельно, используя sortedArrayUsingComparator: то я считаю, что объекты отсортированы в том порядке, в котором они были добавлены.

Вы также можете вручную установить заказ с помощью – insertObject:atIndex:.

https://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSMutableOrderedSet_Class/Reference/Reference.html#//apple_ref/occ/cl/NSMutableOrderedSet

1

Вы должны создать NSMutabledOrderedSet с данными из старого NSOrderedSet, внесите изменения и перенести данные обратно:

NSMutableOrderedSet *orderedSet = [[NSMutableOrderedSet alloc] initWithSet:[self.myOrderedSet set]]; 
[orderedSet insertObject:newObject atIndex:index]; 
self.myOrderedSet = orderedSet; 
Смежные вопросы