我在我的.h中声明了一个NSMutableArray并且我设置了属性和合成,但是如果我想在其他类中使用这个数组?我怎么办?
答案 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];
(注意:我没有使用内存管理。)