如何在objective-c中初始化数组?

如何在objective-c中初始化数组?,objective-c,c,arrays,memory,Objective C,C,Arrays,Memory,我想在类的所有方法中使用数组。数组在类的init方法中初始化 但是数组的大小是在init方法中首先知道的。例如,在我的init方法中,我有: CGPoint mVertices[size][size]; 稍后在init中,我填充数组,并在另一个方法中读取值。如何全局声明阵列?使其成为ivar: @interface myClass : NSObject { CGPoint *mVertices; } @end 在init方法中: mVertices = malloc(size * si

我想在类的所有方法中使用数组。数组在类的init方法中初始化

但是数组的大小是在init方法中首先知道的。例如,在我的init方法中,我有:

CGPoint mVertices[size][size];
稍后在init中,我填充数组,并在另一个方法中读取值。如何全局声明阵列?

使其成为ivar:

@interface myClass : NSObject {
  CGPoint *mVertices;
}

@end
在init方法中:

mVertices = malloc(size * size * sizeof(CGPoint));
if (!mVertices) { return nil; }
在您的dealloc方法中:

free(mVertices); mVertices = NULL;

只是出于好奇。您是使用
mVertices[i][j]
还是使用
mVertices[i*size+j]
访问此文件?两者都是可能的,但
[][]
很可能需要多次分配。