/ / tableView свойство с UIViewController (или UITableViewController) - xcode, uiviewcontroller, uitableview, reloaddata

property tableView с UIViewController (или UITableViewController) - xcode, uiviewcontroller, uitableview, reloaddata

#import <UIKit/UIKit.h>

@interface FourthViewController : UIViewController{

//@interface FourthViewController : UITableViewController{

Искам да актуализирам tableview, така че се опитвам да използвам [self.tableView reloadData] но аз дори не мога да напишете този ред от код, тъй като аз работя в a UIViewController и tableView собственост е за UITableViewControllerТака че се опитах да бъда умен и просто да променя UIViewController да се UITableViewController но вместо това получих тази грешка:

 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."

Imo това е странно, тъй като UITableViewControllerще работи за tableView, но не и обратното, но шевове, като че ли всичко погрешно, или какво се случва тук? повече код, ако го поискате =) Благодаря напред.

Отговори:

0 за отговор № 1

А UITableViewController е наистина просто UIViewController, който съдържа изход към UITableView и изпълнява двете tableview делегати: UITableViewDelegate и UITableViewDataSource.

Може би искате да помислите за подмяна на потребителския модел на viewcontroller във вашия писец с UITableViewController, а не със стандартен UIViewController.

Алтернативно, можете ръчно да настроите ForthViewController инстанцията, като създадете извод за съдържащия се UITableView, за да разкриете табличното представяне като свойство.

Въпреки това, ако го направите по този начин, вие също ще иматеръчно да реализираме двете таблични делегиращи UITableViewDelegate и UITableViewDataSource някъде (вероятно във ForthViewController) и ръчно да асоциираме UITableView с тези делегати.