既存の質問を繰り返さないことを願っていますが、OpenGL ES を使用する Objective-C でデータ配列を保持する際に問題が発生しています。契約は次のとおりです。
次のプロパティを持つこのクラスがあります。
@property GLfloat* data;
このクラスには、次で終了するメソッドがあります。
-(void)loadObj {
(...)
GLfloat glData[n];
(...) //populate glData array
self.data = glData;
NSLog(@"%i", self.data[1])
}
メインに戻り、上記のクラスのインスタンスを作成し、loadObj 関数の呼び出しに進みます。
loader = [[ObjLoader alloc] init];
[loader loadObj];
data = loader.data;
NSLog(@"%i", data[1])
残念ながら、何らかの理由でデータ配列の情報が失われています
最初の印刷では、意図したとおりに値がすべて表示されます。ただし、2 番目のデータはほとんど保持されません。
これが起こらないようにする方法はありますか?データ型をGLfloatにする必要があるため、NSMutable配列を使用することは問題外であることを指摘したいと思います
前もって感謝します