2012-10-24 29 views
0

我想嵌入一個UITableView到我的ViewController的主UIView是75%的屏幕寬度。理想情況下,這個UITableView也將嵌入到導航控制器中。另外,看起來我不能在iOS 5中使用UIContainerViews,因爲我遇到了錯誤「無法實例化名爲UIStoryboardEmbedSegueTemplate的類」(參見NSInvalidUnarchiveOperationException with ContainerView)。當UITableView的單元格不加載時的調試策略?

爲此,我在ViewController的主UIView中創建了一個UIView,它是屏幕寬度的75%。在那個UIView中,我放置了一個UINavigationBar和一個UITableView。我在ViewController的- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil函數中實例化了UITableViewController。一旦實例化,我通過self.tableViewController.tableView = self.tableView將ViewController的UITableView連接到UITableViewController的UITableView。

一切似乎工作正常,除了我的UITableView沒有顯示任何單元格,即使我預加載數據。

我可以提供哪些附加數據來幫助診斷問題?我當然不會收到任何錯誤消息,並且數據源確實會收到數據,並且在數據源更新後我會撥打[self.tableView reloadData]

更新1

Chrome for iOS

歸根結底,這是一種行爲,我想,除了不是多個網頁的意見,我想多表視圖每個嵌入在自己的導航控制器。我猜測,iOS版Chrome瀏覽器只需截取網頁截圖(?),因爲在滾動瀏覽標籤頁時未啓用交互功能,但如果您想保持交互,您將如何執行此操作?

UPDATE 2

的特定線似乎是CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]其中static NSString *CellIdentifier = @"New Cell"(及相應的原型的UITableViewCell在IB被定義)。但是,代碼似乎不會在這一行上崩潰;相反,斷點似乎開始(Thread 1: Breakpoint 1.1),我沒有指定。此外,這隻發生在我的iOS設備上進行測試時。當通過iOS模擬器測試時,一切正常。

回答

0

您的數據源方法需要在您的tableViewController中實現(您似乎沒有這樣做)。您必須將您的tableViewController的datasource屬性設置爲self,並在原始視圖控制器中實現這些方法(即self)。另外,您必須在@interface聲明中添加<UITableViewDataSource, UITableViewDelegate>協議。

難道讓標準路線和子類UITableViewController覆蓋數據源方法並不容易嗎?

+0

我已經完成了所有這些,除了我將我的dataSource委託給主ViewController,因爲我認爲這是活動視圖控制器以及接收相關觸摸事件的控制器,例如,,我添加了一個加UIBarButtonItem用於向列表添加新條目。 dataSource必須是內部的嗎? –

+0

我應該複製一遍我的整個代碼嗎? StackOverflow似乎並沒有被設計爲這樣做(至少)。 –

+0

的確,你不應該編碼轉儲。輸入中斷點和日誌語句 - 縮小問題範圍併發布代碼。 – Mundi

相關問題