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 オブジェクトへのポインターではなく、への C ポインターstruct sqlite3です。メモリはObjective-Cランタイムによって管理されていないため、retain/それはできません。の代わりにrelease使用します。assignretain

于 2012-05-10T03:02:53.660 に答える