我正在爲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