#iphone #core-data
Вопрос:
Я создаю приложение для iPhone с путеводителем. Я создал city
Entity
в Основных данных. У него есть name
, image
, и description
атрибуты. Теперь я хочу показать рестораны и известные места в соответствии с выбранными городами в другом представлении. В каждом городе может быть несколько ресторанов и известных мест. Поэтому я решил создать еще одну Entity
, place
. Я запутался в отношениях между city
и place
. Я хочу сделать city
идентификатор в качестве внешнего ключа на месте…что мне делать?
Ответ №1:
Основные данные не являются реляционной базой данных. Забудьте о внешних ключах и т. Д. Вам нужно просто установить отношение «ко многим» между городом объекта и местом объекта. Кроме того, вам нужно установить обратную зависимость. Во время выполнения вы будете обновлять только одну сторону отношений: основные данные автоматически обновят другую для вас. Это лишь одно из преимуществ использования основных данных. Но вам нужно начать читать документацию, чтобы полностью понять разницу между реляционной базой данных и реляционной базой данных. Основные данные-это инструмент управления графами объектов. Он работает с базовым XML, в памяти и хранилищах SQLite. Тот факт, что ваши данные могут быть скопированы с помощью SQLite, не должен вас смущать.
И еще кое-что. У вас не может быть атрибута под названием «описание» в ваших сущностях. У вас не может быть атрибута, имя которого совпадает с одним из атрибутов NSObject
. Это столкновение не сработает.
Комментарии:
1. ОК.. Спасибо ..Но я использовал атрибут описания, и он работает нормально.
2. Обратите внимание,что описание в верхнем регистре отличается от описания в нижнем регистре. Последнее не будет работать, как объясняется в документации.
3. Хороший момент в столкновении со
NSObject
свойствами! Приятно быть в курсе.