Почему мой подкласс NSMutableArray не работает как ожидаемый?

Я создал подкласс NSMutableArray следующим образом:

Базовый класс:

@interface MyBaseMutableArray : NSMutableArray {
    // Database variables
    NSString * databaseName;
    NSString * databasePath;
}

@property (nonatomic, retain) NSString * databasePath;

- (id)initWithContentsOfSQLiteDB:(NSString *)dbTable;
-(void) checkAndCreateDatabase;
-(void) readFromDatabase;

@end

Подкласс:

@interface IngredientsMutableArray : MyBaseMutableArray
{

}

-(void) readFromDatabase;

@end

Когда я создаю IngredientsMutableArray, я делаю следующее:

IngredientsMutableArray * i  = [[IngredientsMutableArray alloc]
    initWithContentsOfSQLiteDB:@"MyIngredientsDB.sql"];

НО, когда я пытаюсь выполнить [self addObject: ингредиент] Я генерирую исключение следующего содержания:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSArray count]: method only defined for abstract class.  Define -[IngredientsMutableArray count]!'

Я считаю, что я неправильно инициализирую NSMutableArray. Я собирался к нам initWithCapaciity, но я не знаю счетчик перед вызовом SQL. Я думаю, что упускаю из виду кое-что очевидное, но, будучи новичком в Objective C, я немного сбит с толку.

Любая помощь приветствуется.

18
задан zoul 9 May 2011 в 14:15
поделиться