我正在为iPhone的RPG类型的游戏。我想要做的是有一个库存,只允许你保存特定数量的特定类型的物品。我认为要做到这一点,我只是要扩展NSMutableArray并为其添加限制。我无法弄清楚这样做的最好方法。这里的想法,我有我的头......扩展NSMutableArray的行为就像一个Java阵列
Backpack.h
@interface Backpack : NSMutableArray {
Class * arrayClass;
NSMutableArray * array;
int limit;
}
-(id) initWithClass:(Class) type andLimit:(int) num;
@end
Backpack.m
@implementation Backpack
-(id)initWithClass:(Class) type andLimit:(int) num {
arrayClass = type;
limit = num;
array = [NSMutableArray new];
return self;
}
-(void)insertObject:(id) object atIndex:(int) index {
if([object isKindOfClass:arrayClass] && index < limit) {
// Insert it
} else {
// Throw Exception
}
}
@end
您不会持有指向'Class'的指针,因为它已经是一个指针了。 – 2012-07-26 00:35:58