3

当我尝试声明 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
4

1 回答 1

8

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

于 2012-05-10T03:02:53.660 回答