7月
2
2010
2
2010
Objective-Cで二次元配列を扱う
クラスのプロパティに二次元配列を持たせます。
ここでは、メモリを動的に確保する方向でいきます(そんなわけで、実際はただのポインタのポインタ)。
ArrayClass.h
@interface ArrayClass : NSObject {
char **array;
}
@property (nonatomic) char **array;
@end
ArrayClass.m
@implementation ArrayClass
@synthesize array;
-(id)init {
self = [super init];
if (self) {
array = (char**)malloc(sizeof(char*)*10);
for (int i = 0; i < 10; i++) {
array[i] = (char*)malloc(sizeof(char)*15);
}
}
return self;
}
-(void)dealloc {
for (int i = 0 ; i < 10; i++) {
free(array[i]);
}
free(array);
[super dealloc];
}
@end
こうすることで、
ArrayClass *obj = [[[ArrayClass alloc] init] autorelease];
obj.array[0][1] = 1;
のように扱うことができます。
参考リンク
タグ: iPhone, Objective-C

An article by yuyak





すばらしい!!