超出范围的 CGFloat 数组



我想在touchesBegan方法中使用didMoveToView方法中定义的 C 样式CGFloat数组。我似乎无法将其定义为属性,因为它是一个CGFloat数组。全局变量似乎也不起作用。我的数组定义如下:

CGFloat levelMapX[] = {self.frame.size.width/2 ...};

我正在使用雪碧套件。

您可以声明指向CGFloat的指针。尽管数组和指针在 C 中并不相同,但它们通常可以以类似的方式使用。

@property (assign, nonatomic) CGFloat* array;

然后像数组一样使用它:

const NSInteger myArraySize = 10 * sizeof(CGFloat);
self.array = malloc(myArraySize);
self.array[0] = 0.42;
self.array[1] = M_PI;

请记住释放它,以免泄漏内存:

- (void)dealloc {
    free(self.array);
}

最新更新