的ObjectiveC,创建类的
问题描述:
阵列我有一个包含值类:的ObjectiveC,创建类的
@interface Params : NSObject {
[...]
NSString *fc;
NSString *sp;
NSString *x;
NSString *y;
[...]
@property (nonatomic, assign) NSString *fc;
@property (nonatomic, assign) NSString *sp;
@property (nonatomic, assign) NSString *x;
@property (nonatomic, assign) NSString *y;
[...]
@end
有可能在Objective-C创建一个数组类?像c#/ java?
MyClass[] a = new MyClass[20] ???
a[0].fc = "asd" ?
或类似的东西?
感谢, 阿尔贝托
答
虽然这样做的标准方法是用NSArray
,您可以用C数组也这么做:
int numObjects = 42;
Params ** params = malloc(sizeof(Param*) * numObjects);
for (int i = 0; i < numObjects; ++i) {
params[i] = [[[Params alloc] init] autorelease];
}
free(params);
但是,使用NSArray
就会简单得多。 :)
答
你会使用标准的NSArray
要做到这一点,在我的例子中,我使用的观点,但你可以使用指针任何对象。
UIView * object = [[UIView alloc] init];
UIView * object2 = [[UIView alloc] init];
UIView * object3 = [[UIView alloc] init];
NSArray * array = [[NSArray alloc] initWithObjects:object,object2,object3,nil];
[object release];[object2 release];[object3 release];//edit
UIView * test = [array objectAtIndex:0];
test.tag = 1337;
+2
不要忘记释放你的视图对象 - 你的代码泄漏内存 – Vladimir 2010-11-16 14:34:07
+2
还要注意,如果你想创建一个等同于ArrayList的东西,你想使用NSArray的可变(可修改)版本,它的子类NSMutableArray – 2010-11-16 15:30:49
我宁愿自己递归自动释放方法 – 2010-11-16 17:57:35