2012-05-09 112 views
-1

當我嘗試在根視圖中調用IBAction時,它可以工作,但是當我在子視圖應用程序中調用時。如何在子視圖中調用IBAction?

代碼:

- (IBAction)webButton:(id)sender { 

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

} 

這裏是SS關崩潰: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,變量sub指出它是本地的addSubViewButton:方法,並在該方法結束時發佈。您需要保持對該控制器的強烈引用,以便在使用它之前不會釋放它。

+0

你能告訴我,我該怎麼做? – CroiOS

+3

在ViewController.h中,創建一個屬性:'@property(strong,nonatomic)SubViewController * sub;'。然後,而不是有一個名爲'sub'的局部變量,將該對象分配給該屬性。 (如果這將用於真正的程序中,如果有人點擊「添加子視圖」兩次,您也會遇到問題。) –

+0

它可以工作,非常感謝您的幫助。在真正的項目中,它不會像這裏一樣。 – CroiOS