2009-06-18 49 views
2

我喜欢NSMutableArray的便利性,但有时您只需要将其下载到好的C数组。就像当您将交错顶点数组提供给OpenGL一样。NSMutableArray。什么是最快的方式将其转换为简单的ole C数组

将NSMutableArray的内容复制到C数组的最快方法是什么?

是的,我意识到这一点洗牌会导致效率低下,但我想看看我是否可以通过这种方法偷偷摸摸,而不会在帧速率上受到打击。

干杯, 道格

回答

1
NSMutableArray *arrayOfThings; 
Element elements[arrayOfThings.count+1]; 

for (int i=0;i<arrayOfThings.count;i++) 
{ 
    elements[i] = [arrayOfThings objectAtIndex:i]; 
} 

或类似的东西。我没有看到在Apple文档中执行此操作的简单方法。

6

请参阅-[NSArray getObjects:]。只需给它一个合适大小的缓冲区,NSArray就会用它的内容填充缓冲区。 NSMutableArray是NSArray的一个子类,所以它响应所有相同的方法。

1
int i=0; 
foreach(YourClass *obj in array) 
{ 
    carray[i++] = [obj yourMethodToConvertToCType]; 
} 
+0

感谢所有的答案团伙。超级快。超级有用。 – dugla 2009-06-18 20:31:17

相关问题