2010-05-10 4 views
0

Я использую основные данные и получаю результаты успешно. У меня мало вопросов относительно основных данных. 1. Когда я добавляю запись, она будет добавлена ​​в конце или в начале объекта. 2. Я использую следующий код для извлечения данных. Массив заполняется всеми записями. Но они не в том же порядке, как я ввел записи в сущность. Зачем? на каком основании используется сортировка по умолчанию?iphone coredata выборка-запрос-сортировка

NSFetchRequest* allLatest = [[NSFetchRequest alloc] init]; 
[allLatest setEntity:[NSEntityDescription entityForName:@"Latest" inManagedObjectContext:[self managedObjectContext]]]; 

NSError* error = nil; 
NSArray* records = [managedObjectContext executeFetchRequest:allLatest error:&error]; 
[allLatest release]; 

3. Способ, которым я ввожу записи, 1,2,3,4 ......... через некоторое время, я хочу, чтобы удалить записи, которые я вошел в первый (я имею в виду самые старые данные). Что-то вроде удаления старых двух записей. Как это сделать?

ответ

3

Заказ не гарантируется. Если вам нужен порядок, вам нужно включить атрибут в свой объект (например, назовите его «sequenceNumber») и использовать его в дескрипторе сортировки с помощью NSFetchRequest.

4

Этакая на массиве у вас есть выглядит следующим образом:

 
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"SortKey" ascending:YES] autorelease]; 
NSArray *sortedList = [records sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]; 

initWithKey: аргумент является собственностью вы хотели бы сортировку. Если у вас есть несколько ключей для сортировки, они могут быть добавлены в список sortedArrayUsingDescriptors: как список. Список будет отсортирован по первому дескриптору, а затем по каждой группе по следующим дескрипторам.

-dan

+0

Я не хочу сортировать. Мне нужны записи в том порядке, в который я вставлялся в сущность. – Satyam

+0

Если я добавлю какое-то свойство «Дата» к сущности, а затем могу получить записи, отсортированные непосредственно из основной даты. Или еще, могу ли я удалить записи, содержащие только последние данные за одну неделю? – Satyam