数组浮点数的ObjC结构:避免NSValue的紧凑方式?

时间:2012-05-23 12:12:14

标签: objective-c arrays struct

我将一些JS移植到本机ObjC代码。由于结构不适合数组内部,因此需要将其包装起来。

JS代码如下:

var bezierVertices = [{0: 14},{10: 32},{24: 16}];

简单明了的JS:匿名对象的数组。

我必须遵守以下要求:让代码尽可能紧凑,这意味着在使用[NSValue valueWithCGPoint:ccp(x,y)]提出NSValue的NSArray时我被拒绝了

沿着malloc方式走下去也不符合这个标准。他们想要像上面提到的那样紧凑的东西。

在编写像@" 0:14; 10:32; 24:16&#34 ;;那个分裂并在一个循环中解析,我认为这可以帮助带来一些干净的东西:) 我允许使用.mm,所以ObjC ++解决方案也适合,但我根本不了解C ++ ...

谢谢! 学家

2 个答案:

答案 0 :(得分:4)

  

他们想要像上面提到的那样紧凑的东西

谁是“他们”? “他们”是否有任何理解,Objective-C是一种编译语言,源代码的“紧凑性”在很大程度上是无关紧要的?

无论如何,咆哮。你可以像这样制作一个CGPoints的C数组:

CGPoint myArray[] = {{0.0, 14.0}, {10.0, 32.0}, {24.0, 16.0}}; 

这是标准的C阵列初始化程序。你得到这样的元素数量:

int nElements = sizeof myArray / sizeof(CGPoint);

答案 1 :(得分:1)

如果需要管理可变长度的顶点数组,C ++提供std::vector<CGPoint>