我试图int
在我的类接口中将 C 数组定义为实例变量,以便类中的任何方法都可以访问它。
写累了
@interface aVCofMine : UIViewController{
int[] myArray;
}
和
@interface aVCofMine : UIViewController{
int myArray[];
}
但无济于事。
实际上是否可以将 C 数组 [而不是 NSArray] 定义为类接口中的实例变量?
我试图int
在我的类接口中将 C 数组定义为实例变量,以便类中的任何方法都可以访问它。
写累了
@interface aVCofMine : UIViewController{
int[] myArray;
}
和
@interface aVCofMine : UIViewController{
int myArray[];
}
但无济于事。
实际上是否可以将 C 数组 [而不是 NSArray] 定义为类接口中的实例变量?
C 数组需要动态分配或固定大小。所以你可以这样做:
@interface AVCOfMine : NSViewController {
int myArray[5];
}
@end
或者你可以做
@interface AVCOfMine : NSViewController {
int *myArray;
}
@end
@implementation AVCOfMine
- (void)viewDidLoad {
myArray = malloc(sizeof(int) * 5);
}
- (void)dealloc {
free(myArray);
[super dealloc]; // include this line only if not using ARC
}
@end
前者强制数组始终具有相同的大小。后者允许您在运行时选择大小,但显然要复杂一些。哪个更好取决于情况。
采用
@interface aVCofMine : UIViewController{
int *myArray;
}
然后,在您的实现代码中,为了实际为您的数组分配内存:
myArray = malloc(sizeof(int) * numberOfElements);
记得释放它free(myArray);