3

sqlite3_open 関数 (ジェネリック C 関数) では、引数として sqlite3 ジェネリック C ポインターのアドレスを送信する必要があります。
例:

//Valid code
NSString * databaseFile; //Path of database file. (Objective-C Object)
sqlite3 * db; //Pointer to hold the sqlite database. (C Pointer)

sqlite3_open([databaseFile UTF8String], &db); //db is sent using the & operator.

問題は、オブジェクト内から *db 変数を取得する必要があることです。このコードが間違っていることはわかっていますが、必要なものを説明する方法です。

//I need to get the address of the pointer 'database' from inside the Objective-C Object 'object'.
//I hope one of those wrong lines explain what I want:

sqlite3_open([databaseFile UTF8String], &[object database]);
sqlite3_open([databaseFile UTF8String], [object &database]);
sqlite3_open([databaseFile UTF8String], &(object->database);

誰かが私を理解してくれることを願っています... ハハハ お時間をありがとうございました! =)

4

1 に答える 1

1

次のように仮定MyClassします。

@interface MyClass : NSObject
...
@property ( nonatomic ) sqlite3 * database ;
...
@end

あなたのコードは次のようになります。

MyClass * object = ... ;

sqlite3 * database ;
sqlite3_open( ..., & database ) ;

object.database = database ;
于 2012-10-25T01:50:24.190 に答える