Core Data NSFetchRequest возвращает несортированный массив после удаления объекта и повторной выборки данных

У меня есть база данных Core Data, созданная с использованием UIManagedDocument, который я загружаю в UITableView , а также рисую определенные точки этих данных на график. Я обнаружил, что когда я добавляю объект в базу данных или удаляю объект из базы данных, а затем извлекаю данные, массив, который возвращает NSFetchRequest , не сортируется, даже если у меня есть дескриптор сортировки в запросе. Интересно то, что если я подожду несколько секунд, а затем получу / повторно загрузю данные, они вернутся обратно отсортированными. Думаю, я, должно быть, делаю что-то не так. Есть ли какой-то обратный вызов, который я должен использовать из Core Data, чтобы узнать, что изменение базы данных было завершено? Это странно, потому что все данные всегда в базе, просто не отсортированы. Я не очень разбираюсь в этом, поэтому не уверен.

Вот код из моего запроса на выборку:

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"FuelPurchase"];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dateTimeStamp" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

NSError *error = nil;
[self.fuelPurchaseDatabase.managedObjectContext executeFetchRequest:request error:&error];
6
задан Jamie 13 February 2012 в 00:17
поделиться