2010-12-14 25 views
1

我是iOs編程的新手,並且在導航控制器中遇到困難。 我有一個表格視圖,它顯示了一個項目被選中時的細節視圖。 「後退」按鈕正好顯示在詳細視圖的頂部,因此一切正常。第二個視圖上的細節按鈕

現在我想添加一個按鈕到詳細視圖來鏈接到一個網站。所以我試圖給導航控制器添加一個按鈕。首先,我在IB中完成了它,但是如果你這樣做,它只會出現在第一個視圖中,並在詳細視圖中消失(我只想在詳細視圖中使用它)。

然後我的代碼試了一下(添加它在detailviewcontroller在viedDidLoad:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(viewlink:)]; 

出現的按鈕,我添加了一個功能:

-(void)viewLink:(id)sender { 
NSLog(@"Went to view 2"); 
} 

但在運行應用程序時,我得到大量引用「 - [ItemDetailViewController viewlink:]:無法識別的選擇器發送到實例0x8a13cb0」。

這樣做的最佳方法是什麼? 現在我已經在這個問題上花了幾個小時,而且我真的把我的頭髮拉出來,因爲它似乎是如此簡單的事情,所以我必須做一些基本的錯誤。

+0

只需雙重檢查 - 你有' - (void)viewLink:(id)sender;'在你的.h文件中? – Eric 2010-12-14 23:54:47

回答

0

在錯誤消息中,它顯示「viewlink:」(小寫l),但您的方法名爲viewLink:(大寫L)。

調用該方法時,請確保使用相同大小寫的相同拼寫,因爲該語言區分大小寫。

您還應該從編譯器(不是運行時錯誤)收到警告,說''ItemDetailViewController'可能不會響應-viewlink:「。注意並解決所有警告。

語法突出顯示器還會顯示某些內容是錯誤的。無法識別的方法將顯示爲黑色,但識別的方法將顯示爲淡藍色。

+0

我擔心這是一個小小的愚蠢的錯誤...在我的恥辱中說,將該函數添加到.h文件並更改大寫解決了問題。非常感謝他的幫助! – 2010-12-15 09:45:55

相關問題