我正在從sqlite數據庫中填充數據的應用程序。所有數據庫相關的東西都在appdelegate
類中完成。我用NSMutable
數組來保存對象。 我已經使用了一個單獨的NSObject
類屬性。我收到錯誤:property 'x' with 'retain' attribute must be of object type
。NSInteger,NSNumber「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;
}
我發現了另一種方式: 在NSInteger.for前一個NSNumber的對象。然後類型種姓分配值;
NSNumber aNSNumbermovieID = sqlite3_column_int(compiledStatement, 1);
NSInteger amovieId = [aNSNumbermovieID integerValue];
但還是我收到同樣的錯誤(財產與「保留」屬性「X」必須是對象類型)。
有什麼建議嗎?
非常感謝你 – Alok 2011-04-18 07:29:12