2012-03-21 77 views
0

我有一個NSMutableArray(稱爲listOfSites),它是在classA.m中創建和使用的。我想從classB.m中引用同一個實例,以便獲取listOfSites的當前內容。我知道我需要在classA中創建一個引用,然後classB可以引用它。如何從傳遞給另一個類的類創建引用?

我需要做些什麼才能做到這一點?

+0

classB是否有權訪問該類的實例? – MechEthan 2012-03-21 22:25:02

+0

不......這就是問題......「未定義」...所以這就是參考的原因。 (他們在同一個項目中,只是不同的類) – SpokaneDude 2012-03-21 22:32:38

+0

'A類'和'B類'之間的關係是什麼?解決方案的範圍與需要「瞭解」所討論的「NSMutableArray」實例的類之間存在的關係有關。 – FluffulousChimp 2012-03-22 00:33:27

回答

0

使用一個單身人士創傷,這非常有效......感謝您的時間和迴應。

2

listOfSites是一個實例屬性還是一個類屬性?如果它是一個實例,我會建議定義一個屬性,然後綜合getters/setters。因此,例如:

@interface classA 
    @property (nonatomic) NSMutableArray *listOfSites; 
@end 

@implementation classA 
    @synthesize listOfSites; 
@end 

然後,在classB中,也許您有一個對classA的實例的引用,名爲myClassA。然後您可以通過以下方式獲取:

NSMutableArray *siteList = myClassA.listOfSites; 
2

這裏有幾件事。首先,在類名稱的起始處使用小寫字母並不是一個好主意,因爲這是我們如何編寫變量名稱的方式。所以classA應該是`ClassA'。

接下來,你必須決定你應該如何相互關聯。有兩個明顯的選擇:

  1. ClassB的有ClassA的一個參考,這樣,當它需要的清單也可以請ClassA的吧。

  2. ClassA和ClassB都有對它們共享的列表的引用。在這種情況下,它們之間不需要引用。通常涉及第三類。

您選擇哪種設計取決於您的程序需要做什麼。

相關問題