私は8ヶ月ほどiPhoneの開発を行っており、一般的な生活は良いです(例外はopenGLです)。iPhone:一般的なデバッグのヒント
iPhone 3Dゲームを構築していて、うまくいきました。それはシミュレータ上で正常に動作します(私は真のテストではありません)、デバイス上で正常に動作していました。
今、デバイスで死んで、非常にランダムなものを指しているようです。初めて死ぬ(「EXC_BAD_ACCESS」)はデリゲートの設定です。
NSString *url = [NSString
stringWithFormat:@"%@GetPlayerPosition.aspx?playerIndex=%@",
self.baseURL, self.deviceID];
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
[request setDelegate:self];
コードを削除するだけです。
がGLFloatアレイ
GLfloatのV [] = {センター[0]アクセスしようとしたとき、それは死ぬ次回は - 眼[0]、 中心[1] - 目を[1] 、センター[2] - 目[2]};
もう一度非常にランダムで、今まで働いていました。そのメモリのように実行され、ちょうど満員です。誰にもアイデアはありますか?クラスのサイズには限界がありますか?
一般的に私はこれを解決することができますが、作業用のバージョンに戻っていくつかのコードを再実装し、その後ランダムな動作を開始します。
私は漏れをチェックし、私は元気です
UPDATE:パート2
右私の.hファイルの私のインターフェイスに私は私の.mで
GLfloat eye[3];
を持って、私が割り当てることができます各要素の値は、それは私が行う場合
正常に動作します
NSLog(@"%f",eye[0]);
クラッシュします。どうしてこれなの?
これらはインタフェース(.h)で宣言されています GLfloat center [3]; GLfloat eye [3]; – Burf2000
クラスのインスタンス変数ですか?そうであれば、おそらくクラスが解放されているかもしれません。通常、ブロックによって使用されるものはすべて保持されますが、これらはプリミティブ型なので、保持するクラスは保持しません。 1つの手法は、作成するASIHTTPRequstオブジェクトをクラスインスタンス変数として保持し、そのクラスのdeallocで要求をキャンセルすることを確認することです。 –
したがって、パブリックインターフェイスで宣言されたばかりです。ブロックを完全に取り除いても、後でプリミティブで死ぬ – Burf2000