2010-05-16 57 views
0

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

我的问题是如何建立这两个对象之间的关系。有没有一个首选的方法来做到这一点?
此外,由于Objective-C不支持非实例类,我应该在哪里创建一个必须在整个程序中使用的ServerType实例?或者有更好的方法来做到这一点?我需要它与KVC兼容,以便我可以将其中一个ServerType属性绑定到NSPopupBox。

对于大量的问题感到抱歉,我对Cocoa和Objective-C相当陌生。如果您需要查看代码,只需询问,我会很乐意添加一些代码。 :)
SphereCat1

回答

1

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

你可以继承一个类来创建一个子类,那么你将有一个is-a关系。

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

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

+0

太棒了!非常感谢。我对关系类型的工作方式有些模糊,但是它清除了它! :) – vilhalmer 2010-05-16 17:07:46