使用sqlite3时编译错误:具有“retain(或strong)”属性的属性必须是对象类型

时间:2012-05-10 02:56:40

标签: iphone objective-c ios sqlite

当我尝试声明一个sqlite3对象时,我在下面的代码中遇到了编译错误。是"数据库"不是对象类型?为什么会发生这种情况,我该如何解决?

#import <Foundation/Foundation.h>
#import <sqlite3.h>

@interface BasicDao : NSObject

@property (nonatomic, retain) sqlite3 *database;  //error : Property with 'retain (or strong)' attribute must be of object type

@end

1 个答案:

答案 0 :(得分:8)

sqlite3 *database不是指向Objective-C对象的指针,而是指向struct sqlite3的C指针。您不能retain / release,因为内存不是由Objective-C运行时管理的。使用assign代替retain