2013-05-30 4 views
0

Я пытаюсь создать систему кеширования для приложения чтения фида. Идея заключается в том, что каждый новый канал успешно извлекается, удаляет все сохраненные объекты в Core Data и сохраняет первые двадцать элементов фида (это используется как автономный кеш).Как удалить только объекты, сохраненные для хранения из Core Data?

Проблема, с которой я столкнулся, - это мой контекст управляемого объекта, который может иметь сотни элементов в нем, когда выполняется попытка обновления. Я хотел бы сохранить эти элементы в контексте при удалении любых сохраненных элементов из Core Data, а затем сохранить двадцать элементов, возвращенных из вызова обновления.

Для чего это стоит, я использую магическую запись. Я попытался оглядеться вокруг этого решения, но либо я использую неправильные ключевые слова, либо информация трудно найти.

Я не уверен, что код, чтобы показать точно, но вот обработка вызова подачи:

for (id dict in feedArray){ 
    WFeedItem *item = [WFeedItem feedItemWithAttributes:[dict dictionaryByReplacingNullsWithBlanks] inManagedObjectContext:[NSManagedObjectContext defaultContext]]; 
    [parsedArray addObject:item]; 
} 

Это получает передается обратно из подклассов HTTPClient это определено в к контроллеру вида, который назвал его , Имейте в виду, что все это прекрасно работает, все дело в том, чтобы удалять сохраненные элементы, сохраняя все, что я собрал во время этого сеанса в контексте.

Спасибо,

-Brandon

ответ

0

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

+0

Можно ли использовать другой контекст для извлечения только элементов, уже сохраненных в магазине? Проблема, которую я испытываю при сохранении, заключается в том, что мне нужно удалить то, что уже существует, не затрагивая NSManagedObjects из сеанса. Вероятно, некоторые из новых элементов из вызова канала уже существуют в магазине, но мне нужно убедиться, что в магазине всегда есть двадцать последних элементов ... не уверен, что я достаточно хорошо объясню это. – Stakenborg

+0

Это то, что я сделал. В принципе, я не хотел, чтобы один контекст видел то, что было сохранено, по сути, но так как этого не могло произойти, я только первые двадцать пунктов моего мокрого по умолчанию и сохранил его, а затем оставил остальные мои объекты в nil moc. – Stakenborg

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