2009-10-29 2 views
0

Я просто создаю простое библиотечное приложение, в основном собрание «Участники» и сборник «Книги». Моя идея заключалась в том, чтобы реализовать обе эти функции как NSMutableArrays, чтобы я мог легко добавлять и удалять объекты. То, что я хотел бы спросить, - это лучший способ реализовать связь между «членом» и «книгой», когда они берут книгу из библиотеки?Лучший способ связать объекты в коллекциях для простого приложения библиотеки?

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

EDIT

Могу ли я просто спросить, если правильный способ сделать это было бы создать «Библиотека» объект в качестве верхнего объекта уровня, который содержит «Книга» и коллекции «член». Я просто думал об этом, так как в противном случае их нужно было бы создать в main(), который кажется немного ориентированным на объекты.

большое спасибо за помощь/информацию.

Гэри

ответ

2

Дайте каждому члену объекта с изменяемым-коллекции (либо массив или набор, ваш выбор) свойство, содержащее книги члена. Также дайте каждому объекту Book свойство, не имеющее права собственности, идентифицирующий участника, у которого он был выписан (если кто-либо, nil, если никто).

Вам не нужно удалять книгу из массива всех книг, если библиотека не продает, не дает или не теряет книгу.

Могу ли я просто спросить, правильно ли это сделать, чтобы создать объект «Библиотека» в качестве объекта верхнего уровня, который содержит коллекции «Книга» и «Пользователь».

Да.

Вам нужно будет решить, является ли это объектом контроллера или модельным объектом. Если это модельный объект, вам нужно создать контроллер для владения библиотекой (и в окне библиотеки), и вы откроете библиотеку в AppleScript. Если это контроллер, это объект, которому принадлежит окно библиотеки (а также книги и члены), и вы не будете раскрывать его в AppleScript.

+0

Спасибо, Питер, отлично. – fuzzygoat