ObjectiveC, создание массива классов - PullRequest
0 голосов
/ 16 ноября 2010

У меня есть класс, который содержит значения:

@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

можно создать в target-c массив классов ? как c # / java?

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

или что-то эквивалентное?

спасибо, альберто

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Хотя стандартный способ сделать это будет с 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 было бы намного проще. :)

2 голосов
/ 16 ноября 2010

Вы бы использовали стандартный 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;
...