Взаимосвязь Основных Данных

#iphone #core-data

Вопрос:

Я создаю приложение для iPhone с путеводителем. Я создал city Entity в Основных данных. У него есть name , image , и description атрибуты. Теперь я хочу показать рестораны и известные места в соответствии с выбранными городами в другом представлении. В каждом городе может быть несколько ресторанов и известных мест. Поэтому я решил создать еще одну Entity , place . Я запутался в отношениях между city и place . Я хочу сделать city идентификатор в качестве внешнего ключа на месте…что мне делать?

Ответ №1:

Основные данные не являются реляционной базой данных. Забудьте о внешних ключах и т. Д. Вам нужно просто установить отношение «ко многим» между городом объекта и местом объекта. Кроме того, вам нужно установить обратную зависимость. Во время выполнения вы будете обновлять только одну сторону отношений: основные данные автоматически обновят другую для вас. Это лишь одно из преимуществ использования основных данных. Но вам нужно начать читать документацию, чтобы полностью понять разницу между реляционной базой данных и реляционной базой данных. Основные данные-это инструмент управления графами объектов. Он работает с базовым XML, в памяти и хранилищах SQLite. Тот факт, что ваши данные могут быть скопированы с помощью SQLite, не должен вас смущать.

И еще кое-что. У вас не может быть атрибута под названием «описание» в ваших сущностях. У вас не может быть атрибута, имя которого совпадает с одним из атрибутов NSObject . Это столкновение не сработает.

Комментарии:

1. ОК.. Спасибо ..Но я использовал атрибут описания, и он работает нормально.

2. Обратите внимание,что описание в верхнем регистре отличается от описания в нижнем регистре. Последнее не будет работать, как объясняется в документации.

3. Хороший момент в столкновении со NSObject свойствами! Приятно быть в курсе.