【发布时间】:2012-10-28 01:56:54
【问题描述】:
我是 OOP 的初学者,所以这可能是一个愚蠢的问题!
我想在objective-c 类中使用多维CArray 作为实例变量,并且还希望能够在运行时,在对象初始化方法期间指定它的大小:
@interface ArrayClass : NSObject {
int array[][];
}
-(id)initWithSizeX:(int)sizeX sizeY:(int)sizeY;
@end
这会产生错误“Instance variable 'array' has unknown size.”
如果我将数组声明为具有初始大小(例如 [20][20]),我似乎只能使用该数组 - 但这当然违背了这一点,因为我希望它在运行时决定!
我猜这是有必要的,因为需要预先知道对象的内存占用?
有谁知道我正在尝试做的事情是否可行?是否有任何解决方法可以让我在运行时调整数组的大小?还是我以完全错误的方式解决这个问题?
我知道有很多关于多维数组的主题,但我似乎找不到任何可以回答我问题的内容!
【问题讨论】:
-
如果它需要是动态的,那么也许可以这样做。 NSMutableArray 可能会给你你想要的东西,同时留在 Obj-C 土地上。您可能需要通过索引算术来完成多维工作,但这在二维中很容易。它必须是一个C数组吗?
标签: objective-c c arrays multidimensional-array instance-variables