2012-05-09 12 views
-1

IBActionをルートビューで呼び出そうとすると機能しますが、サブビューアプリが呼び出されるとクラッシュします。サブビューでIBActionを呼び出す方法は?

コード:http://dl.dropbox.com/u/77033905/urlInSafariCrashesUp.png

感謝の助けを

UPDATE: 例コード:http://dl.dropbox.com/u/77033905/IBActionSubView.zip

+0

ログファイルにはどのようなエラーがありますか? – Saad

+0

これは、問題を解決するのに十分な情報ではありません。もちろん、サブビュー内のメソッドを呼び出して、問題がコード内の他の場所にある場合には、その一部を私たちに明らかにする必要があります。 – trojanfoe

+0

プロジェクトでARCを使用していますか? – Lefteris

答えて

6

あなたSubViewControllerを作成し、変数ここ

- (IBAction)webButton:(id)sender { 

    NSLog(@"doesn't print log"); 

} 

がSSオフクラッシュですsubはそれを指しているのはそのメソッドが終了するとメソッドが解放されます。あなたはそれを使用する前に割り当て解除されていないように、そのコントローラへの強い参照を保持する必要があります。

+0

私はそれをどうすればいいのですか? – CroiOS

+3

ViewController.hで、プロパティを作成します。 '@property(強、非原子)SubViewController * sub;'。次に、 'sub'という局所変数を持たずに、オブジェクトをプロパティに代入します。 (これが実際のプログラムで使用される場合、誰かが「サブビューを追加」を2回タップすると、何をすべきかという問題もあります) –

+0

これはうまくいきます。実際のプロジェクトでは、ここにちょうど似ているわけではありません。 – CroiOS

関連する問題