クラス外メソッド(またはGLKVector構造)からfloat配列のサイズを設定します。または私は基本的にプレビューでは、新しいクラス(ビュー)のメソッドを呼び出すことができますsegueを使用するはずの値を変更する、ターゲットビューに値を設定します。は、誰かがどのように次のことを達成するために私に言うことができる場合、私は思っていた
ので、私は私のプレビュー上でこれを持っているが表示:
ARViewController *temp = segue.destinationViewController;
[temp setDrawableArray:temp];
をここで一時は、この構造は、私は新しいクラスの配列のサイズを設定するために使用するint型を持って、私は定義された構造です。
新しいクラスがで行くが、ヘッダーファイル内の変数の宣言に、次のとおりです。
ここ@interface ARViewController : UIViewController <GLKViewDelegate>
{
GLKVector3 drawableArray;
}
- (void)setDrawableArray:(Kanji)temp;
@end
私はその宣言がOKであればお願いしたい、またはそれは
GLKVector3 *drawableArray;
のようなものであるべき場合
(GLKVectorは浮動小数点の構造体なので、float drawableArrayと簡単に置き換えることができます)
クラス(.m)の実装では、次のメソッドがあります。
- (void)setDrawableArray:(Kanji)temp
{
drawableArray = GLKVector3 drawableArray[5];
//Here i want to do some operations to the newly created array
}
もちろんこれは間違っている、私は、誰もが、私はそれをたくさんいただければ幸い私に教えてとても親切だろう場合、配列のサイズを設定する方法については考えています。
PD:クラスはそのクラス内の別の場所で使用するため、クラスはグローバルでなければなりません。
こんにちは、この応答とdrawableArray = reallocf(drawableArray、sizeof(GLKVector3)* temp.totalpoints)の違いは何ですか?また、私はARC(自動参照カウント)を使用してXCODEを使用しています。これはオブジェクトまたはプリミティブに対してのみ機能するかどうかわかりません。ビューに空き(drawableArray)を書き込むだけで問題はないと思いますアンロードしましたか? – Pochi
(1) 'realloc'は既に割り当てられているブロックのサイズを変更するためのものです - (a)サイズが変更された同じブロックを戻すか、(b)元のブロックの内容を上書きして新しいブロックを返します。オリジナルは解放されます。'reallocf'は、新しいブロックを作成するのに十分なスペースがなくても元のブロックを解放するバリアントです。詳細については、ターミナルで 'man 3 reallocf'と入力してみてください。 (2)ARC(およびGCまたは手動のalloc/retain/release)およびC'malloc'ファミリは独立しており、異なる目的で使用されています。あなたはもうメモリを必要としなくてもどこでも 'free'を置くことができます。 – CRD