代码之家  ›  专栏  ›  技术社区  ›  elp jekmac

ObjectiveC,创建类数组

  •  0
  • elp jekmac  · 技术社区  · 14 年前

    我有一个包含值的类:

    @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 an中创建 类数组 ? 像c#/java?

    MyClass[] a = new MyClass[20] ???
    a[0].fc = "asd" ?
    

    或者类似的东西?

    谢谢, 阿尔贝托

    2 回复  |  直到 14 年前
        1
  •  2
  •   Dave DeLong    14 年前

    而标准的方法是 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);
    

    但是,使用 不可变数组 会简单得多。:)

        2
  •  2
  •   Luke Mcneice    14 年前

    你会用一个标准 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;