我正在Cocoa中构建一个(非常)简单的FTP应用程序,我需要在支持的不同类型的服务器上存储信息。所以,我创建了一个ServerType类,它存储了有关单一类型服务器的所有相关信息。然后我有一个ServerTypes类,用于管理所有创建的ServerType类。
我的问题是,如何建立两个对象之间的关系。有没有一种首选的方法呢?
此外,由于Objective-C不支持非实例类,我应该在哪里创建一个必须在整个程序中使用的ServerTypes实例?或者有更好的方法吗?我需要它与KVC兼容,以便我可以将其中一个ServerType属性绑定到NSPopupBox。
我是Cocoa和Objective-C的新手。
答案 0 :(得分:1)
要管理2个对象之间的关系,您有两种方式:组合或继承。
您可以从类继承来创建子类,然后您将拥有is-a关系。
如果一个对象包含另一个对象作为实例变量,那么你将拥有一个has-a关系。
在这里,我认为最好使用组合,其中ServerTypes对象具有所有服务器类型对象的数组。 Objective-C通过创建静态变量来支持非实例变量(如果这就是你的意思)。然后你可以在整个程序中使用它