Сохранение одного объекта CoreData (Не всего контекста )При сохранении функциональности NSFetchedResultController

. Фу, простите за длинное название.

У меня есть один контекст управляемого объекта, в котором я храню песни, полученные из двух разных мест. Я получаю некоторые песни из постоянного хранилища на телефоне (с помощью Core Data ), а некоторые из них извлекаю из онлайн-базы данных. Обе песни относятся к одному и тому же подклассу MananagedObject. Я хотел бы, чтобы обе эти песни были в одном контексте, потому что я хотел бы, чтобы они обе отображались в табличном представлении, связанном с NSFetchedResultsController.

Проблема возникает, когда я хочу сохранить одну из песен. Я не хочу сохранять все песни, которые я вытащил из онлайн-базы данных, на телефон. Я просто хочу сохранить одну песню, поэтому простое [moc save] не работает. Другая проблема заключается в том, что после того, как я сохранил одну песню, я все еще хочу, чтобы песни, извлеченные из Интернета, были в контексте (, но опять же, не сохранялись ). Думаю, у меня есть несколько вариантов:

1 )Возможно ли подключить контроллер NSFetchedResults к нескольким контекстам?

2 )Я мог бы переместить все песни, извлеченные из онлайновой базы данных, в отдельный временный контекст, сохранить в исходном контексте, а затем переместить все песни обратно. (см.:Как скопировать или переместить NSManagedObject из одного контекста в другой?)

3 )Запомнить все пары значений ключа -для онлайн-песен, удалить онлайн-песни из контекста, сохранить исходный контекст, вставить все онлайн-песни обратно в исходный контекст на основе сохраненного ключа -пары значений.

4 )Я большой нуб и упускаю что-то попроще.

Спасибо!

9
задан Community 23 May 2017 в 12:30
поделиться