其他类中的NSMutableArray

时间:2011-04-01 16:38:29

标签: objective-c xcode nsmutablearray

我在我的.h中声明了一个NSMutableArray并且我设置了属性和合成,但是如果我想在其他类中使用这个数组?我怎么办?

2 个答案:

答案 0 :(得分:2)

这里的基本思想是在原始类中,数组由指针引用。您的原始类将分配它并可能加载它。程序的其他部分可以传递属性的内容,这是一个指针,将其分配给自己的指针持有者,并使用它,就像你在那里声明它一样。

因此,如果MyClass具有MyArray的属性,这是一个NSMutableArry *,那么MyArray是一个指针持有者,(只是'指针')。

你的程序然后可以创建一个新的指针,比如NSMutableArray * ThatArray,然后简单地做:

MyClass *aClass = [[MyClass alloc] initWithMyInitStuff];
NSMutableArray *ThatArray = aClass.MyArray;

NSLog("Count of ThatArray: %d", [That.Array count]);

答案 1 :(得分:1)

如果您按照说明为@property创建了NSMutableArray,则可以通过名称轻松访问其他类。例如:

#import "MyClass.h"

...

MyClass *myClass = [[MyClass alloc]init];
NSMutableArray *array = [myClass.myArray mutableCopy];

(注意:我没有使用内存管理。)