Скажем, у меня есть этот класс иерархии:Как правильно комбинировать данные .plist и CoreData?
protocol Location {}
class Planet: Location {
}
// That's a spot on some planet
class Site: Location {
var planet: Planet
}
Вот что я хочу реализовать. Я хочу добавить планеты через файл .plist
(это то, что я думаю, лучше всего подходит).
Это предустановленные планеты, которые существуют во Вселенной. Однако на каждой планете есть местоположения, которые пользователь создает. Таким образом, мне нужно сохранить их с помощью CoreData.
Я не уверен, как это сделать. Как я могу использовать эту иерархию классов, которую я «жестко закодировал» (используя .plist
) вместе с CoreData
моделями/объектами?
Например: Как создать сайт entity
в CoreData? Я не могу просто добавить атрибут planet
типа Planet
, это невозможно в CoreData, насколько я знаю.
Каков общий подход для этого? Надеюсь, вы понимаете мою проблему, ее сложно описать, поскольку это для меня ново.
Но планеты не сохраняются с использованием CoreData. Все «объекты» хранятся в файле '.plist'. Если бы я создал объект «Планета», мне нужно было бы сохранить все планеты в базе данных устройства, верно? Или я что-то путаю? – Quantm
Вы спросили: * Как создать объект сайта в CoreData *? . Я рекомендую использовать Core Data в качестве основной базы данных и файл plist для исходного набора данных. В принципе, вы не должны одновременно использовать список свойств и базовые данные. – vadian
Да, это именно то, что я спросил. Но я также сказал, что планеты не используют CoreData. Однако использование CoreData в качестве основной базы данных является хорошим решением. – Quantm