【发布时间】:2011-04-18 07:10:51
【问题描述】:
我正在使用一个从 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 对象中赋值。然后在 NSInteger.for ex 中输入 caste;
NSNumber aNSNumbermovieID = sqlite3_column_int(compiledStatement, 1);
NSInteger amovieId = [aNSNumbermovieID integerValue];
但我仍然遇到相同的错误(带有“retain”属性的属性“x”必须是对象类型)。
有什么建议吗?
【问题讨论】:
标签: iphone