2012-04-26 92 views
0
#import <UIKit/UIKit.h> 

@interface FourthViewController : UIViewController{ 

//@interface FourthViewController : UITableViewController{ 

我想更新我的tableview,所以我試圖用[self.tableView reloadData]但因爲我在UIViewController我的工作,我不能連鍵入此行的代碼和tableView屬性是UITableViewController唯一的。所以,我想是聰明的,只是改變UIViewControllerUITableViewController而是我得到這個錯誤:用的UIViewController(或的UITableViewController)的tableView財產

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "b4k-XH-Uhj-view-V2h-dE-ixJ" nib but didn't get a UITableView.' 

伊莫這是奇怪的,因爲一個UITableViewController會工作了的tableView而不是倒過來,但接縫像我弄錯了,或者這裏發生了什麼? 更多的代碼,如果你問它=) 謝謝你。

回答

0

UITableViewController實際上只是一個UIViewController,它包含一個UITableView的出口並實現兩個tableview委託:UITableViewDelegate和UITableViewDataSource。

您可能需要考慮用UITableViewController而不是標準的UIViewController替換nib文件中的viewcontroller實例。

或者,您可以手動調整您的ForthViewController實例,方法是爲所包含的UITableView創建一個插口以將tableview作爲屬性公開。

但是,如果你這樣做,你還必須手動實現兩個tableview委託UITableViewDelegate和UITableViewDataSource某處(可能在ForthViewController中)並手動將UITableView與這些委託相關聯。

+0

嗨,謝謝你回答這麼快速和明確。在我讀到你的答案之前,我已經開始這樣做了。而且我認爲這是你的「另類」做法。 @interface FourthViewController:UIViewController { NSMutableArray * arrayKA; IBOutlet UITableView * TableKA; } 我用桌子曲線(在SB中拖動)曲棍球IBOutlet 我不理解你的最後單詞「..並手動將UITableView與這些代表相關聯。」即時通訊新的Xcode,但我想我可以弄明白,如果你幫我明白你的意思。 再次感謝!大幫忙! – EmilOoo 2012-04-26 14:21:41

+0

@EmilOoo我的意思是「將UITableView與這些代表手動關聯」在ForthViewController中。你必須明確聲明像self.TableView.delegate = self; self.TableView.Datasource = self;查看Apple文檔,瞭解您在使用這些代理時需要實施的方法。希望這可以幫助! – pdriegen 2012-04-26 17:32:03

相關問題