我在Objective C中有NSArray,它只存储int。如何将其转换为C数组?感谢。
我的Objective C数组:
NSArray *myArray = [[NSArray alloc] initWithObject:@"1", @"4", @"8", nil];
答案 0 :(得分:0)
使用malloc分配一块内存来保存足够的项目(在本例中为NSString*
s并迭代NSArray,将每个项目(并保留每个项目)添加到c数组中的适当位置
在执行此操作时,您必须在完成此操作后向c阵列中的每个成员发送release
消息,然后才需要free()
数组本身。
答案 1 :(得分:0)
我想你不能显式,因为NSArray封装了一个C数组,但是一个指向引用对象的指针数组。因此,您可以获得的更好的是检索(实际上是复制)指针数组。 如果您想获得对象的价值,您需要“查询”它们的值,have a look here