Я бы порекомендовал 1), если вы используете Core Data.
2) не имеет особого смысла. Например, скажем, A* a1
и A* a2
относятся к одному и тому же B* b
. Если A
и B
являются подклассами NSManagedObject
, это отношение может быть легко сохранено и затем извлечено из файла. Но если A
и B
имеют NSManagedObject
экземпляров в качестве иваров, как вы поддерживаете эти отношения, которые два A
ссылаются на один B
? Вы будете вынуждены написать множество клейких кодов, которые в основном предоставляются API-интерфейсами Core Data.
Если вы решите использовать Базовые данные, один очень важный совет, который я могу дать, - внимательно прочитать документацию Apple очень , очень с самого начала и до конца, и сопротивляться призываю писать коды с первого дня. Базовые данные - это довольно большой набор API, и хорошее понимание всей структуры перед началом написания кодов сэкономит вам много дней спустя.