如何从NSArray制作C矢量或数组?

don*_*ile 2 c arrays vector objective-c nsarray

那可能吗?我没见过会产生普通老C矢量或数组的方法.我在我的数组中只有NSNumber对象,我需要它作为C向量或数组.

dre*_*lax 6

mouviciel答案的另一种选择是使用NSArray的getObjects:range:方法.

id cArray[10];
NSArray *nsArray = [NSArray arrayWithObjects:@"1", @"2" ... @"10", nil];

[nsArray getObjects:cArray range:NSMakeRange(0, 10)];
Run Code Online (Sandbox Code Playgroud)

或者,如果您在编译时不知道数组中有多少个对象:

NSUInteger itemCount = [nsArray count];
id *cArray = malloc(itemCount * sizeof(id));

[nsArray getObjects:cArray range:NSMakeRange(0, itemCount)];

... do work with cArray ...

free(cArray);
Run Code Online (Sandbox Code Playgroud)