У меня есть подкласс 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 CI, я немного растерялся.
Любая помощь приветствуется.