好一個UIViewController,我肯定在這裏做得不對...擴展使用不同的NIB文件
我已創建一個BaseViewController它是一個包含一個UITableView的匹配NIB文件的數據源和委託。該控制器非常負責從遠程Web服務獲取數據,創建單元格以及填充UITableView。
所以現在我想創建一個SearchViewController,這樣我就可以得到一個UISearchBar,用戶可以輸入一個搜索查詢,將其發佈到Web服務上,獲得結果並填充一個UITableView。
然而,大部分代碼(在檢索數據/填充UITableView中)存在於BaseViewController中。所以我想到的第一件事就是創建SearchViewController作爲BaseViewController的擴展,並使用不同的NIB文件。
我已經創建了一個名爲新NIB文件搜索查看包含一個UISearchBar和一個UITableView和鏈接這兩個與文件所有者IBOutlets。 (該IBOutlet中的UITableView正在從BaseViewController繼承)
所以最後在我的MainWindow.xib我添加了一個TabBarController從IB我已經掛了UINavigationController的加載與查看來自搜索查看加載的SearchViewController。當我切換到搜索選項卡,我得到一個SIG_ABORT錯誤:
-[UITableViewController loadView] loaded the "SearchView" nib but didn't get a UITableView
任何人都可以點我如何進行正確的方向?我相信你們大多數人在做UITableView的東西時都是通過擴展一個類來重用代碼。這是正確的方法嗎?
基於錯誤,我假設BaseViewController從UITableViewController中得出(其中中有一個「的tableView」字段。)根據您的描述我猜BaseViewController也有它「的tableView」字段。這些假設和猜測是否正確? 在SearchViewController nib中,連接到UIViewControllers「view」outlet的是什麼? – 2011-02-15 13:03:37