2010-11-16 141 views
0

阵列我有一个包含值类:的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" ? 

或类似的东西?

感谢, 阿尔贝托

回答

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就会简单得多。 :)

+0

我宁愿自己递归自动释放方法 – 2010-11-16 17:57:35

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; 
+2

不要忘记释放你的视图对象 - 你的代码泄漏内存 – Vladimir 2010-11-16 14:34:07

+2

还要注意,如果你想创建一个等同于ArrayList的东西,你想使用NSArray的可变(可修改)版本,它的子类NSMutableArray – 2010-11-16 15:30:49