Я работаю над приложением, в котором данные заполняются из базы данных sqlite. Все материалы, связанные с базой данных, выполняются в классе appdelegate
. Я использовал массив NSMutable
для хранения объектов.
Я использовал отдельный класс NSObject
для свойств.
Я получаю сообщение об ошибке: property 'x' with 'retain' attribute must be of object type
.
Мой appdelegate.m
код файла:
NSString *amovieName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
NSInteger amovieId = sqlite3_column_int(compiledStatement, 1);
//problem is here the
//value of movieId is coming from database.
//But error: "must be of object type" is puzzling me.
//I am assuming to use NSNumber here.
мой файл NSObject имеет следующий вид:
в .h файле-
NSInteger movieId;
его свойство как:
@property (nonatomic, retain) NSInteger movieId;
и в .m файле-
@synthesize movieId;
то я просто инициализирую как:
-(id)initWithmovieName:(NSString *)mN movieId:(NSInteger)mId
{
self.movieName=mN;
self.movieId=mId;
return self;
}
Я нашел другой способ: присвоение значения в объекте NSnumber. thene caste в NSInteger.for ex;
NSNumber aNSNumbermovieID = sqlite3_column_int(compiledStatement, 1);
NSInteger amovieId = [aNSNumbermovieID integerValue];
но все же я получаю те же ошибки (свойство "x" с атрибутом "Сохранить" должно быть типа объекта).
Любое предложение?