У меня есть приложение, которое читает rss-канал, анализирует xml и добавляет его в мою базу данных с использованием Core Data (это значит, что пользователь может видеть фид, даже если интернет-соединение недоступно), все это работает нормально. Я так делаю разбор: на didStartElement я создать новый объект, такие как:iPhone Core Данные, сохраняющие сразу несколько элементов случайного поведения?
NewsDB *newsDB = [NSEntityDescription insertNewObjectForEntityForName:@"NewsDB" inManagedObjectContext:managedObjectContext];
self.currentObject = newsDB;
и в didendDocument я просто сохранить все с чем-то, такими как:
- (void)parserDidEndDocument:(NSXMLParser *)parser {
NSError *error = nil;
if (![managedObjectContext save:&error])
{
NSLog(@"Error saving %@", error);
}
Это аль работ отлично, на самом деле моя программа работает именно так, как я хочу сейчас. Но мой вопрос заключается в том, когда контекст управляемого объекта получает сохраненные элементы, которые, как представляется, добавляются случайным образом, это первый созданный объект в контексте, возможно, не является первой строкой в базе данных. Я исправил это, добавив столбец, который сообщает мне позицию в xml, а затем просто сортировку по этому столбцу в моем fetchedResultsController.
Я знаю, что могу просто сохранять контекст каждый раз, когда объект заканчивается, но это не похоже на хороший подход, поэтому я просто сохраняю их всех в конце.
Мой вопрос, почему они добавляются случайно ?, это нормальное поведение ?. Спасибо.
-Oscar
Спасибо, я не понимал, что это был NSSet. –