私は、iPhoneアプリのための簡単な概念実証に取り組んでいます(重要な情報もあり、Mac OSX開発にはまったく新しいものです)。私は、タイマー付きのビューベースのアプリケーションを作成しました。私は自分のアプリケーションのコントローラのインターフェイスに、@ propertyと@synthesizeを使ってNSTimerを宣言し、コントローラのviewDidLoadメソッドでscheduledTimerWithTimeIntervalメソッドで初期化しました。私のセレクタは、インタフェースで宣言され、コントローラの実装ファイルで定義されているシグニチャ-(void)someMethod:(NSTimer *)timer
を持つメソッドです。私はタイマーを割り当て、それが有効なオブジェクトを指していることを確認する行を通過することができますが、私のプログラムはviewDidLoadメソッドの終わり以上には行かず、呼び出されたメソッドの最初の行でブレークポイントに到達しませんタイマーまた、この時点でxcodeのステータスバーにGDB: Program received bad signal: "EXC_BAD_ACCESS"
が表示されています(viewDidLoadの最後に達しています)。私はIBで何もしませんでしたが、ビューとピッカーを追加するだけで、UIが実際にロードされているかどうかを確認できます。iPhoneビューベースのアプリでNSTimerを正しく使用していますか?
だから、NSTimerに何か間違っているのですか?それとも私のトラブルはどこですか? xcodeのデバッグツールを使用して詳細情報を取得するにはどうすればよいですか?
コードを投稿できますか?おそらく間違ったセレクタをNSTimerに渡すか、@セレクタを使用しないでしょう。 –
また、スタックは、EXC_BAD_ACCESS( "不正なポインタを追いかけた"というファンシートーク)を理解する上で最も有用なツールです。あなたが実際に墜落したときにどんなコードを書いていましたか?当時のフレームワークを使っていたら、何をしていたのですか? –
あなたのように見える ":"セレクタを作成するとき それは以下の通りです: [NSTimer scheduledTimerWithTimeInterval:1ターゲット:セルフセレクタ:@selector(someMethod :) userInfo:nil repeats:YES]; – oxigen