我有一个包含值的类:
@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" ?
或等同的东西?
感谢, 阿尔贝托
答案 0 :(得分:2)
您可以使用标准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;
答案 1 :(得分:2)
虽然执行此操作的标准方法是使用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
会更简单。 :)