2012-03-21 63 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都有对它们共享的列表的引用。在这种情况下,它们之间不需要引用。通常涉及第三类。

您选择哪种设计取决于您的程序需要做什么。

相关问题