Xcode 4 - добавление и привязка объекта к объекту с использованием отношений - PullRequest
2 голосов
/ 20 апреля 2011

Я уже пару недель изучаю, как использовать базовые данные в xcode, но был озадачен тем, как заставить работать отношения.

В моем коде у меня есть 2 сущности.Сущность "Дом" и сущность "Город".Дом может принадлежать только одному городу, но город может иметь много домов, связанных с ним.Поэтому я установил отношения один-ко-многим между домом и городскими объектами.

Следующий фрагмент кода находится в контроллере вида на город, который представляет собой просто табличное представление, отображающее все доступные города на выбор.Список предварительно заполняется в городе.Теперь, когда я выбираю строку, я пытаюсь выполнить следующий код, чтобы связать дом с выбранным городом, но результат всегда равен нулю.

ReferringObject - это объект дома, который я создаю, это отношения издом в городскую единицу

Любая помощь приветствуется

NSManagedObject *selectedCity =
    [self.fetchedResultsController objectAtIndexPath:indexPath];

[self.referringObject setValue:[selectedCity valueForKey:@"cityname"] 
    forKeyPath:@"cities.cityname"];

1 Ответ

1 голос
/ 20 апреля 2011

Вы хотите связать городской объект с домашним объектом.Вам не нужно менять значение названия города внутри него.Таким образом, у вас есть только одна запись в таблице для каждого города.Итак, что вы хотите сделать, это:

 NSManagedObject *selectedCity = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
[self.referringObject setValue:selectedCity forKeyPath:@"city"];

Это установит ваши оба отношения для вас.Затем вы можете получить доступ к названию города из объекта дома с помощью houseObj.city.cityname или получить список домов в городе с помощью city.houses (если вы назвали дома отношений).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...