2011-01-05 76 views

回答

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]; 
1

類方法以+開頭。使得它需要一個數組作爲參數做同樣的方式,你會在C或Objective-C的任何其他指針的服用方法/功能做到這一點:

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

這是一個有點陌生,可使用C風格的數組來保存指向對象的指針,但是 - 你真的想要做什麼?

3

這是非常非典型傳遞一個語言陣列完整的Objective-C對象或類到一個方法。

我建議:

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

和:

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