2010-05-16 60 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