Can Core Data позволяет мне создавать новую таблицу программно? или если мне нужно, что мне нужно напрямую использовать SQLite.программно создать новую таблицу с данными ios-core
благодаря
Can Core Data позволяет мне создавать новую таблицу программно? или если мне нужно, что мне нужно напрямую использовать SQLite.программно создать новую таблицу с данными ios-core
благодаря
С точки зрения CoreData, вы на самом деле не создавать новые таблицы, так как таблицы базы данных только один возможный тип постоянного хранилища, связанные с моделью данных ядра.
Вы можете, однако, создавать новые основные объекты данных программно, используя класс NSEntityDescription. В документации класса NSEntityDescription вы найдете это:
Entity descriptions are editable until they are used by an object graph manager. This
allows you to create or modify them dynamically. However, once a description is used
(when the managed object model to which it belongs is associated with a persistent store
coordinator), it must not (indeed cannot) be changed. This is enforced at runtime: any
attempt to mutate a model or any of its sub-objects after the model is associated with a
persistent store coordinator causes an exception to be thrown. If you need to modify a
model that is in use, create a copy, modify the copy, and then discard the objects with
the old model.
Я никогда не пытался изменить один во время выполнения, так что я не знаю точно, как хорошо это работает, когда у вас есть существующий SQLite сохраняемости магазин, если все. Но, вероятно, стоит поиграть с NSEntityDescription, чтобы узнать, приближается ли она к тому, что вы пытаетесь сделать.
Вы обычно создаете модель управляемых объектов графически, используя инструмент проектирования модели данных Xcode. (При желании вы можете построить модель программно во время выполнения
Я не думаю, что это возможно. где вы можете это сделать раньше? – shebelaw
@Shanmugaraja G: Вы не можете программно менять модели, как только они были втянуты через постоянный магазин. Однако вы можете изменить модели, которые не блокируются магазином. –
Вы можете однако:
Вы не можете изменить модели на лету, поскольку они в значительной степени фиксируется, когда они втянуты в среде выполнения.
Спасибо Тиму, по сравнению со многими из iOS-фреймворков, coredata немного беспокойно для меня, чтобы привыкнуть. – shebelaw
Хорошо поставил Тим ... –
@shebelaw: Сложно начинать с, но если вам нужен бустер, я бы рекомендовал книги Big Nerd Ranch. Они вкладывают вещи в неспециалистские термины, они тоже не бьют вокруг куста. http://www.bignerdranch.com/books, вероятно, дешевле получить книги на Amazon в качестве копий второй руки, но все же стоит посмотреть. –