2011-09-12 55 views
0

我有一個包含數組的對象。我的數組的父類

沒有coredate或數據庫,我怎麼的關係回父從任何孩子的建模。我是否必須明確地存儲孩子的父母ID?或者有沒有辦法獲得這個數組的「父」類?

回答

-1
NSArray * array = [[NSArray alloc]init]; 
id parrent = [array super]; 
+0

不,「super」是一個和'self'類似的關鍵字,不是一種方法。在任何情況下,它都不會引用包含對象,而是引用數組的超類。 – Caleb

0

沒有子NSArray並添加額外的屬性,我認爲這是一個壞主意,我想你有兩個選擇:

  • 使物體在索引0的一個指針包含對象

  • 不要將您的數組直接存儲在您的「父」對象中,請將其存儲在NSDictionary中,該鍵也有一個@parent鍵,該鍵持有對父級的引用。

說實話,我不知道你正試圖在這裏實現的目標 - 當你需要找出這些信息,不會單純地與父對象本身的工作進行更好的呢?

UPDATE

我剛看到這個回答另外一個問題:Create Custom UIButton class

聯想引用聽起來像他們可能是你需要什麼?您可以將包含對象的引用關聯到NSArray。我對他們還不瞭解,但我剛剛看到了這個問題的答案和想法。

1

的Objective-C(不同於Qt和其他幾個對象模型)沒有「父子」或「所有權」的關係。是的,有時候我們會說保留一個對象的對象「擁有」它,但這更多的是共享所有權,因爲多個對象可以保留給定對象,但沒有一個「所有者」比其他所有者更「因此(在普通的Objective-C模型中)「父」。

要考慮的第一件事是你的「父/子」的概念是否真的有意義在這個多所有者環境。如果是這樣,那麼你需要以某種方式自己維護子對父指針。