Сохранение в базовые данные с NSMutableArray - PullRequest
1 голос
/ 18 ноября 2009

У меня была небольшая головная боль с этим и было интересно, может ли кто-нибудь дать какой-нибудь совет!

Я внедряю постоянное хранилище с Core Data.

У меня есть две сущности: машина и водитель. У машины может быть много водителей.

  • В одном представлении я собираю драйверы и сохраняю их в NSMutableArray

  • Этот массив передается в другое представление, и в какой-то момент я сохраню его для автомобиля

То, что я хотел бы сделать, это сохранить каждого водителя из массива в отдельной строке в таблице драйверов (только их имя (NSString), которое будет присвоено автомобилю.

  • Я могу создать запись в базе данных для автомобиля, но я пытаюсь сохранить каждого водителя в отдельной строке в таблице водителей, назначенной этому автомобилю.

Будем очень благодарны за любые предложения или указатели в правильном направлении!

Приветствия:)

Ответы [ 3 ]

3 голосов
/ 18 ноября 2009

Было бы трудно инкапсулировать полное решение для вашего ответа, так как ваш вопрос довольно широк, не видя ваш код.

Попробуйте просмотреть превосходные Книги Apple и Рецепты примеров приложений, которые охватывают концепции базовых данных, которые вам понадобятся для развития вашего собственного проекта.

2 голосов
/ 18 ноября 2009

Вы упоминаете, что у вас есть сущности «Автомобиль» и «Водитель», но, похоже, вы пытаетесь сохранить имена водителей непосредственно в качестве атрибутов автомобиля. Почему вы просто сохраняете их NSString *name в машину?

Вместо этого вам следует просто обновить отношения между вашим автомобилем и его водителями. Если вы реализуете свои сущности как пользовательские классы (и я настоятельно рекомендую это - см. Это руководство по АЦП ), тогда, когда вы захотите обновить информацию о том, кто управляет каким автомобилем, вы можете просто сказать: [car addDriversObject:driver] или [car removeDriversObject:driver] .

Как сказал Алекс, вы, возможно, захотите убедиться, что вы хорошо разбираетесь в Core Data, прежде чем отправиться в путь слишком далеко.

1 голос
/ 18 ноября 2009

Я не профессионал в использовании основных данных, но вы можете попытаться получить данные из вашего массива с помощью NSKeyArchiver и сохранить возвращенный объект NSData в вашу базу данных. он отлично работает с базами данных sqllite.

...