私は目的の C を使用して iPhone アプリに取り組んでいます。「リスト」と呼ばれる NSMutableArray ポインターを作成するクラス A があります。しかし、クラス A では、それが指すオブジェクトを作成することはありません。代わりに、クラス B のクラス メソッドを呼び出して、sqlite データベースからデータを取得し、そこに NSMutableArray オブジェクトを設定します。メソッドに引数として渡すことにより、クラス A のポインターを、クラス B メソッドで作成された NSMutableArray オブジェクトを指すように設定できるようにしたいと考えています。sqliteの結果を返したいので、配列を返すことではできません。
私はこれを正しくやっているのだろうか?メソッド全体はまだ書いていませんが (完成するとかなり長くなります)、残りの作業を始める前に、ポインターの処理が正しく行われているかどうかを知りたいと思っています。
//ClassA.m
//...
NSMutableArray *list;
[ClassB populateArrayFromSqlite:&list];
//Now do stuff with "list", which should point to the array created in populateArrayFromSqlite
//...
//ClassB.m
+(int)populateArrayFromSqlite:(NSMutableArray**)ar {
NSMutableArray *array = [[NSMutableArray alloc] init];
//Here there will be code that populates the array using sqlite (once I write it)
//And then I need to set the "list" pointer in ClassA.m to point to this array
ar = &array; //Is this how?
return resultFromSqlite;
}
私はそれを正しくしましたか?それとも私は何かを理解していませんか?このポインタからポインタへの操作は、まだ私には合っていないと思います。ポインターに関するいくつかの一般的な情報源を読んだ後、これが私が行う方法だと思いますが、ar引数が(ポインターからポインターではなく)通常のポインターになれない理由を理解していません。 .