2013-09-06 3 views
0

:) отличное сообщество здесь, я читал много и нашел бесчисленные ответы на мои вопросы на этом пути. Благодаря !!Объект основных данных, содержащий атрибут NSMutableArray?

Теперь это вопрос времени. Я довольно новичок в программировании на iOS и работаю над приложением, которое я бы хотел обновить, чтобы использовать основные данные для моего хранилища объектов.

В моем текущем приложении для хранения моих объектов используется NSMutableArray. Объекты состоят из нескольких NSStrings и NSNumbers, но также каждый объект имеет NSMutableArray для хранения списков событий, созданных пользователем, содержащих различные детали, которые были специфичны для каждого объекта. Объект будет иметь методы для выполнения в NSMutableArray событий и представит пользователю информацию о сравнении в отношении списка событий. Все было хорошо, но у меня не было сохранения данных в моей программе. Введите Core Data :)

В моих первых попытках переместить приложение в основной мир данных я не нашел четкого пути к двойному объекту хранилище непосредственно в объект стиля данных ядра. Всплывающее окно для определения типа каждого атрибута не содержит NSArray, по крайней мере, не того, что я нахожу.

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

Спасибо !!

+2

Если ваш объект имеет массив других объектов, то ваш объект имеет отношение один к другому к этому объекту.Основные данные - это сопоставление объектов, поэтому вам необходимо нормализовать объекты для автономных единиц, а затем связать друг с другом через отношения. – Anupdas

ответ

1

К сожалению, здесь не будет идентичной модели данных, и вы не должны использовать NSArray с базовыми данными. Кроме того, Core Data не похож на другие реляционные базы данных (и это намного больше, чем просто база данных), поэтому отсутствие опыта работы с базами данных не должно приводить вас в невыгодное положение.

В моем текущем приложении для хранения моих объектов используется NSMutableArray. Объекты состоят из нескольких NSStrings и NSNumbers, но также каждый объект имеет NSMutableArray для хранения списков событий, созданных пользователем, содержащих различные детали, которые были специфичны для каждого объекта. Объект будет иметь методы для выполнения в NSMutableArray событий и представит пользователю информацию о сравнении в отношении списка событий. Все было хорошо, но у меня не было сохранения данных в моей программе .. Введите Core Data :)

  • Первый объект вы намекаете станет entity.
  • NSString (s) и NSNumber (ы), скорее всего, будут атрибутами для этого объекта.
  • Событие будет отдельным объектом со своими атрибутами.
  • Вы можете связать первую сущность с событием (как с одним/«одним», так и со многими/«ко многим» событиями) через отношения.
  • Событие, вероятно, будет иметь обратную связь с первым объектом.
  • Для ваших собственных методов вы можете назначить каждому объекту «custom managed object class», очень похожим на то, как вы их вызываете сейчас.

Если вы только начинаете работу с Core Data, я могу предложить использовать шаблон проекта «Пустое приложение» в Xcode (с проверкой «Использовать основные данные») и портировать ваш проект за одно представление за раз. Первое, что вам нужно сделать, прежде чем портировать что-либо, это создать вашу модель данных.

Смежные вопросы