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

3

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

3个回答

2
毫不意外,你需要一个实例才能访问实例变量。如果符合你的设计,你可以将该实例设置为单例,或者将你要递增的变量设置为static而不是实例变量,这样它就可以直接从类方法中访问。
如果你需要从类方法访问多个实例,则需要一些对象的注册表,例如通过键映射你的对象的NSDictionary

2
通常您会通过属性公开所需的实例变量。
此链接介绍了属性。

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

一旦正确的变量被公开,那么只需将所需类的引用传递给给定的方法即可。

谢谢你。这解决了我的问题 :)我已经尝试过属性,但我不记得为什么会出错。现在我再试一次,它可以工作了。对于这个“愚蠢的问题”我很抱歉。 - blacksoul
没问题。如果您认为这个答案最符合您的需求,请将其选为正确答案 :) - madmik3

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接