Как установить отношения "есть много" в Какао? - PullRequest
0 голосов
/ 16 мая 2010

Я создаю (очень) простое FTP-приложение в Какао, и мне нужно хранить информацию о различных типах поддерживаемых серверов. Итак, я создал класс ServerType, который хранит всю необходимую информацию об одном типе сервера. Затем у меня есть класс ServerTypes, который предназначен для управления всеми создаваемыми классами ServerType.

У меня вопрос, как настроить отношения между двумя объектами. Есть ли предпочтительный способ сделать это?

Кроме того, поскольку Objective-C не поддерживает классы, не являющиеся экземплярами, где я должен создать экземпляр ServerTypes, который будет использоваться во всей программе? Или есть лучший способ сделать это? Мне нужно, чтобы он был совместим с KVC, чтобы я мог связать одно из свойств ServerType с NSPopupBox.

Я довольно новичок в Какао и Objective-C.

1 Ответ

1 голос
/ 16 мая 2010

Чтобы управлять отношениями между 2 объектами, у вас есть 2 способа: состав или наследование.

Вы можете наследовать от класса, чтобы создать подкласс, тогда у вас будет отношение is-a.

Если один объект содержит другой в качестве переменной экземпляра, то у вас будет отношение has-a.

Здесь, я думаю, было бы лучше использовать композицию, в которой объекты ServerTypes имеют массив всех объектов типа сервера. Objective-C поддерживает переменные неэкземпляра (если вы это имеете в виду), создавая статическую переменную. Тогда вы можете использовать его по всей программе

...