我想知道将指针数组传递给类方法的语法。
Myclass *arr[TOTAL];
采用arr的类方法的语法是什么?
答案 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];