2011-04-05 21 views
0

具體來說,我想在NSTreeNode和我的類之間共享一組實用方法,而不是NSTreeNode的子類。我的類(WCTreeNode)從WCObject繼承,它是NSObject的子類。除NSObject上的類別之外,更好地共享兩個類之間的一組方法嗎?

我目前的解決方案是在我的類的頭(WCTreeNode)中聲明方法,然後再在NSTreeNode的類別中聲明方法。然而,我並不特別喜歡這個,因爲每當我做出改變時,我都必須確保在兩個文件中都做到這一點。

我意識到我可以在NSObject上做一個類別並列出那裏的方法,但這對我來說看起來並不夠具體,並且不會讓編譯器在類型檢查方面幫助我很多。

我真的很喜歡一種解決方案,它允許我將代碼保存在一個文件中,因此我不必每次都在多個位置進行更改。

有什麼建議嗎?

回答

0

我認爲一個protocol是去這裏的路。把你的自定義方法放在一個協議中,並且子類NSTreeNode;這個小類唯一的定製就是採用該協議。 WCTreeNode也可以採用該協議。這允許類型檢查並將方法保存在一個地方。

+0

我最終這樣做,效果很好。謝謝! – willbur1984 2011-04-06 00:56:44

5

建議創建一個輔助類,它將成爲類中所有「髒」例程的委託。將其實例作爲類的一個屬性,並在需要時使用它。

相關問題