我正在为 iphone 开发一款 rpg 类型的游戏。我想要做的是拥有一个仅允许您持有特定数量的特定类型物品的库存。我认为要做到这一点,我只是要扩展 NSMutableArray 并为其添加限制。我想不出最好的方法来做到这一点。这是我脑海中的想法......
背包.h
@interface Backpack : NSMutableArray {
Class * arrayClass;
NSMutableArray * array;
int limit;
}
-(id) initWithClass:(Class) type andLimit:(int) num;
@end
背包.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