2010-08-30 39 views
1

我正在通過McClure等人使用MonoTouch進行的Wrox專業iPhone編程中的「使用表格進行導航」部分的工作,提供了爲iOS設置分層UI的基礎知識,下面的問題。MonoTouch:UITableView插座變量爲空

我創建了一個新的「iPhone查看與控制」文件(稱爲ParametersViewController),從它刪除了UIView,增加了一個UITableView,創建了一個出口爲它(tableView),並連接「文件的所有者」鑑於出口到UITableView,根據教程。

在該視圖的父視圖的RowSelected方法,我實例化我ParametersViewController,調用默認的構造函數,其中我想設置表視圖的數據源:

this.tableView.Source = new DataSource(this, new [] {"one", "two", "three"}); 

DataSource是嵌套類從UITableViewSource繼承)

所有編譯和運行良好,直到該行被執行的點。原來this.tableView爲空,所以我得到了NullReferenceException

tableView是表格的出口。它怎麼可能是空的?我不能在構造函數中設置表源代碼?如果不是,我該在哪裏做?

+0

似乎沒有接受者:-( – tomfanning 2010-09-01 13:06:18

回答

3

解決,這是

  • 不要創建的,而不是UIViewController中
  • 請參閱我的UITableViewController的base.TableView屬性調用的tableView
  • 使視圖的UITableViewController的子類的出口,而不是我創造的廢話插座
0

我不是100%清楚你在做什麼,但可能是你需要在UIViewController的ViewDidLoad方法中訪問你的UITableView。那時你的NIB視圖應該被實例化。

如果這不是問題,如果您可以提供更多的代碼,以便我們可以看到發生了什麼,可能會有所幫助。我認爲缺乏迴應可能是由於人們不確定他們完全理解你的問題的本質。

+0

剛剛嘗試過,這不是問題,沒有那麼多莫重新提供代碼 - 這在界面構建器中已經完成了。當我最終找到它時,我會用解決方案更新這個問題。 – tomfanning 2010-09-07 20:47:51

+0

您是否能夠壓縮項目,將其上傳到某處併發布鏈接? – dommer 2010-09-08 09:28:58

+0

謝謝,但我解決了這個問題。只是感到困惑。 – tomfanning 2010-09-09 20:41:25