如何在Cocoa中建立有多个关系?

时间:2010-05-16 14:35:11

标签: iphone objective-c one-to-many has-many key-value-coding

我正在Cocoa中构建一个(非常)简单的FTP应用程序,我需要在支持的不同类型的服务器上存储信息。所以,我创建了一个ServerType类,它存储了有关单一类型服务器的所有相关信息。然后我有一个ServerTypes类,用于管理所有创建的ServerType类。

我的问题是,如何建立两个对象之间的关系。有没有一种首选的方法呢?

此外,由于Objective-C不支持非实例类,我应该在哪里创建一个必须在整个程序中使用的ServerTypes实例?或者有更好的方法吗?我需要它与KVC兼容,以便我可以将其中一个ServerType属性绑定到NSPopupBox。

我是Cocoa和Objective-C的新手。

1 个答案:

答案 0 :(得分:1)

要管理2个对象之间的关系,您有两种方式:组合或继承。

您可以从类继承来创建子类,然后您将拥有is-a关系。

如果一个对象包含另一个对象作为实例变量,那么你将拥有一个has-a关系。

在这里,我认为最好使用组合,其中ServerTypes对象具有所有服务器类型对象的数组。 Objective-C通过创建静态变量来支持非实例变量(如果这就是你的意思)。然后你可以在整个程序中使用它