Это более философский вопрос о решениях Apple, чем вопрос о Core Data.
Почему в мире полезно иметь модельную систему, которая так трудно препопыляться? Каковы преимущества? Я знаю, что вы можете заставить свою программу генерировать файл sqlite и редактировать его вручную, но, насколько я могу судить, вы не можете этого сделать, если у вас есть какие-либо отношения вообще.
Я сравниваю это с парадигмой MVC, используемой в рельсах, что, по-видимому, имеет больше смысла. Модели в рельсах обеспечивают аналогичный уровень абстракции для Core Data (из того, что я могу сказать), но они также позволяют вводить все, что вы хотите, в свою базу данных вручную (или через script).
Проблема с Core Data заключается в том, что: поскольку рельсы, похоже, доказывают (мне), что вы можете иметь отличную абстракцию модели из базы данных, сохраняя при этом несколько удобных методов для ее преобеспечения, какие возможные преимущества делает удаление этой возможности? Являются ли Core Data более эффективными? Является ли трудность, связанная с препопуляцией, просто побочным эффектом других вариантов дизайна, и если да, то почему не было учтено предварительное заполнение?
(Отказ от ответственности за то, что я искренне заинтересован в рассуждениях по поводу этих вариантов, и хотя мой пост может это предложить, я действительно не ищу дискуссию "Модели в Rails против основных данных".)