2013-10-07 38 views
0

我是使用mac和iOS開發的新手。今天我跟着this tutorial瞭解如何通過使用Prototype單元和Story Board將數據綁定到表視圖。我起身到教程中的一部分,我應該能夠運行應用程序,以便在UITableView中像這樣綁定的數據顯示,高達:運行時錯誤:無法識別的選擇器發送到實例

enter image description here

我的應用程序編譯罰款,但只要它開始運行它遇到運行時錯誤:

[ViewController viewControllers]: unrecognized selector sent to instance 

我已經嘗試了幾次現在通過教程。我完全按照說明來學習教程,甚至從頭創建了3個不同的項目,以確保沒有任何問題。任何人都可以幫我解決這個錯誤嗎?我花了幾個小時試圖弄清楚發生了什麼問題,現在我不想放棄,因爲與其他平臺相比,iOS開發似乎非常令人興奮!

+0

設置[異常斷點](https://developer.apple.com/library/ios/recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html),調試器將停止執行異常。 –

+0

我也嘗試添加斷點。我有一種感覺,就是'合成球員'代碼導致錯誤。我在playerViewController.m文件中的'@implementation PlayersViewController'之後加入了這段代碼。有誰知道這是不是應該在哪裏?我還沒有遇到綜合,所以我必須做一些進一步的閱讀和報告。 –

+0

您不再需要'@ synthesize'指令。這是從編譯器需要的那一天開始的。你可以離開它,它不會受到傷害。你需要的只是一個屬性定義'@property ...' – dmitri

回答

0

無法識別的選擇器意味着有一個未定義的方法被調用。

要做的一件事是看看是否有任何編譯器警告。它會給你什麼嗎?看看,它可能會給你一個線索什麼是未定義的。

本教程引用了ViewController類。看起來,這個類在教程開始的時候被簡單地使用了,但是它被另一個類所取代。稍後您可以刪除該課程。檢查是否正確連接標籤欄控制器。你有沒有把它設置爲「入口點」?

檢查故事板。傳入的箭頭指向哪裏?比較下面的兩張圖片。首先有輸入箭頭指向視圖控制器(我猜測),第二個 - 箭頭指向標籤欄控制器

image1


later image

+0

實際上,這個消息非常具體。它指出某處「ViewControllers」方法在類「ViewController」的對象上被調用,並且該類不支持指定的方法。 (提示:看看你使用方法「viewControllers」的任何地方。) –

+0

在我的任何源文件中沒有警告或viewControllers方法的用法。嗯,這是如此奇怪:/ –

+0

根據教程'didFinishLaunchingWithOptions'應該調用viewControllers方法。 – dmitri

0

在某些情況下(沒有代碼很難說出哪裏),您獲得對ViewController的引用,將其視爲UITabBarViewController

viewControllersUITabBarViewController的一種方法,但您在ViewController上調用它。

你可能有這樣的事情

UITabBarViewController *tabBarVC = (UITabBarViewController *)[something aMethod]; 
tabBarVC.viewControllers... 

所以它編譯罰款,但它在運行時理所當然地崩潰。

+0

不,他在ViewController上調用它 - 沒有「UI」。但它很可能擴展UIViewController。 –

+0

好的,我的觀點依然存在。 –

相關問題