Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Mr_vanDort
1 / 1 / 0
Регистрация: 14.11.2012
Сообщений: 10
1

Archiving referenses

04.05.2013, 00:16. Просмотров 575. Ответов 4
Метки нет (Все метки)

Здравствуйте, такая проблема:
мне нужно сохранять не сам объект а ссылки на него.
Например есть класс Library в нем два массива книг и читателей.
Есть соответственно классы Book и Person. У человека массив взятых книг . У книги указатель на человека который ее взял.Так вот я архивирую это с помощью encodeWithCoder начиная с рутового объекта библиотека. И проблема в том: как архивировать так чтобы потом в Person-aх оставались ссылки на разархивированные книги а у книг ссылки на разархивированных Person-ов. Где можно почитать про такое потому что в доке вроде нету... ну или я неправильно искал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 00:16
Ответы с готовыми решениями:

Oracle - создание базы...ORA-07287: soagdi: unsupported device for log archiving.
На этапе создания базы возникает ошибка:ORA-07287: soagdi: unsupported device for log archiving. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
04.05.2013, 01:53 2
Поле id в справочники добавить.
0
Mr_vanDort
1 / 1 / 0
Регистрация: 14.11.2012
Сообщений: 10
04.05.2013, 13:38  [ТС] 3
Цитата Сообщение от mobidevelop Посмотреть сообщение
Поле id в справочники добавить.
Не совсем вас понял... можно пожалуйста по детальнее?
0
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
04.05.2013, 17:56 4
имеется ввиду, что все связи организуются через некие уникальные ключи, у каждого объекта есть свой уникальный id, и по этому id мы будем получать объект.

Например, есть класс Person и у него будет поле long id, когда создаете объект, вы увеличиваете id на единицу.
Таким образом у каждого объекта типа Person будет свой уникальный айди и так далее у всех классов будет поле id.

Теперь библиотека, в библиотеку ходит куча народу, да и каждый человек может посещать множество библиотек, итак тут прорисовывается связь many-to-many.
Теперь встал спорный вопрос, как лучше организовать такую связь. Один из вариантов это хранить массив с айдишниками людей в каждом объекте библиотеки. Я считаю, что этот вариант не по-феншую вплане поддержки при добавлении и удалении объектов, и самое главное, если в будущем придется прикруть ОРМ, вам прийдется полностью переделывать свою модель.
Потому я советую второй вариант - это создать промежуточную сущность LibraryPerson, у которой будет всего два поля - personId и libraryId, хотя возможно и еще какие-то поля, как на скриншоте.

Написал все это, потому что у самого была куча вопросов, как лучше организовать модель, когда учился, а когда нужно было использовать разные ОРМ, понял на практике как, все-таки, стоит и не стоит делать.
0
Миниатюры
Archiving referenses  
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
04.05.2013, 18:46 5
Цитата Сообщение от Vorona Посмотреть сообщение
Потому я советую второй вариант - это создать промежуточную сущность LibraryPerson
Ну это решение одно из основных в обычном табличном представлении, когда используется many-to-many, так что именно так ТС'у и стоит поступить.
Цитата Сообщение от Vorona Посмотреть сообщение
Один из вариантов это хранить массив с айдишниками людей в каждом объекте библиотеки.
Это неверно с точки зрения отношения человека и библиотеки.
Как будто бы отсутствует звено - картотека.
Именно этой "картотекой" и будет являться LibraryPerson.

Mr_vanDort, так что Vorona все правильно Вам посоветовал.
0
04.05.2013, 18:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru