2013-10-10 17 views
0

我試圖在導航欄的右下方添加(或具有)導航欄(或項目)在視圖控制器的頂部以及一個tableview。我遇到的問題是當我將TableView的數據源設置爲View Controller時,我的應用程序將崩潰(將TableView的代理設置爲View控制器不會)。目前,tableview的代碼位於默認的ViewController.m中。我是否在正確的位置使用了tableview的代碼,或者我是否連接了不正確的東西?將導航添加到具有TableView的View Controller中

這裏的錯誤是它給了我:

2013年10月10日15:14:48.442 SomeApp [15058:A0B] - [UIViewController中>的tableView:numberOfRowsInSection:]:無法識別的選擇發送到實例0x8d42450 2013-10-10 15:14:48.450 SomeApp [15058:a0b] ***由於未捕獲的異常>'NSInvalidArgumentException',原因:' - [UIViewController> tableView:numberOfRowsInSection:]:無法識別的選擇器發送到實例0x8d42450 '

Current setup

回答

1

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

更多信息,請確保您的視圖控制器堅持正確的協議:

CustomViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 

並將這些協議的必要方法添加到您的實現中。這些是您放心的文檔鏈接:

UITableViewDelegate Protocol Reference

UITableViewDataSource Protocol Reference

+0

我已經添加到ViewController.h作爲@interface ViewController:UIViewController '但它仍然崩潰。我想知道是否將實現tableview的代碼放在錯誤的位置,或者是否需要爲包含tableview的ViewController創建另一個視圖控制器類。 – iwatakeshi

+0

您是否已經實現了每個協議所需的方法?如果是這樣,請嘗試刪除該文件。然後,創建一個新文件,但是當提示詢問超類時,給它一個UITableViewController而不是UIViewController。 –

+0

我知道它的工作。正如你所提到的,我創建了一個新班級。我還必須更改Tableview的屬性來使用自定義類。謝謝。 – iwatakeshi

0

你缺少一些方法都需要爲您的tableview工作,對UITableViewDataSource Protocol Reference

+0

是的,我沒有同時實現他們的ViewController.m內(除非我需要添加在.h文件中定義)。我想知道是否需要爲ViewController創建一個新類? – iwatakeshi

相關問題