如何将目标C数组转换为C数组?

时间:2010-09-06 11:22:14

标签: objective-c c arrays

我在Objective C中有NSArray,它只存储int。如何将其转换为C数组?感谢。

我的Objective C数组:

NSArray *myArray = [[NSArray alloc] initWithObject:@"1", @"4", @"8", nil];

2 个答案:

答案 0 :(得分:0)

使用malloc分配一块内存来保存足够的项目(在本例中为NSString* s并迭代NSArray,将每个项目(并保留每个项目)添加到c数组中的适当位置

在执行此操作时,您必须在完成此操作后向c阵列中的每个成员发送release消息,然后才需要free()数组本身。

答案 1 :(得分:0)

我想你不能显式,因为NSArray封装了一个C数组,但是一个指向引用对象的指针数组。因此,您可以获得的更好的是检索(实际上是复制)指针数组。 如果您想获得对象的价值,您需要“查询”它们的值,have a look here