从另一个类访问实例变量 - 我可以使用类方法吗?

时间:2012-05-29 17:09:50

标签: objective-c instance-variables

我需要从另一个类(NSMutableArray)访问class1中的class2。我尝试的解决方案是在class1中创建一个类方法,并从class2调用它。显然,这是不可能的,因为这是对类方法的限制。我无法弄清楚解决方案。我该怎么办?

3 个答案:

答案 0 :(得分:2)

毫不奇怪,您需要一个实例才能访问实例变量。如果它符合您的设计,您可以将该实例设为 singleton ,或者使变量增加static而不是ivar,这样可以直接从类方法访问它。

如果您需要从类方法访问多个实例,则需要为对象提供某种注册表,例如通过键映射对象的NSDictionary

答案 1 :(得分:2)

通常,您通过属性公开所需的实例变量。

此链接涵盖属性。

http://cocoacast.com/?q=node/103

一旦暴露了正确的变量,就只需将对所需类的引用传递给给定的方法。

答案 2 :(得分:1)

将实例变量作为参数传递给类方法应该可以解决问题。 编辑:如果class1和class2只是实例,那么你将需要一个类变量。