objective-c我想知道将指针数组传递给类方法的语法

时间:2011-01-05 18:05:37

标签: objective-c

我想知道将指针数组传递给类方法的语法。

Myclass *arr[TOTAL];

采用arr的类方法的语法是什么?

3 个答案:

答案 0 :(得分:3)

将一个充满Objective-C对象或类的语言数组传递给方法是非常不典型的。

我建议:

+ (void) classMethod: (NSArray  *) arrayOfClasses;

[MyClass classMethod: [NSArray arrayWithObjects: [Foo class], [Bar class], nil]];

答案 1 :(得分:1)

类方法以+开头。使用数组作为参数的方式与使用C或Objective-C中的任何其他指针获取方法/函数的方式相同:

+ (void)myClassMethod:(MyClass **)arrayOfMyClassPointers;

使用C风格的数组来保存指向对象的指针有点奇怪 - 你真的想做什么?

答案 2 :(得分:1)

如果数组中的元素数量是固定的,那么

+ (void)someMethod:(MyClass *[])array;

就足够了。否则,传递数组中的元素数:

+ (void)someMethod:(MyClass *[])array count:(NSUInteger)count;

为了使用上述方法,

MyClass *array[TOTAL];
array[0] = …;
array[1] = …;
…
array[TOTAL - 1] = …;

[MyClass someMethod:array];

[MyClass someMethod:array count:TOTAL];