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

@interface FourthViewController : UIViewController{ 

//@interface FourthViewController : UITableViewController{ 

Я хочу обновить свой TableView, так что я пытаюсь использовать [self.tableView reloadData], но я не могу даже ввести эту строку кода, так как я работаю в UIViewController и tableView свойство для UITableViewController только. Так что я пытался быть умным и просто изменить UIViewController к UITableViewController, но вместо этого я получил эту ошибку:Tableview свойство с 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.' 

Имо это странно так как UITableViewController будет работать на Tableview, но не наоборот, но швы, как я все ли неправильно, или что здесь происходит? больше кода если вы спрашиваете его =) Спасибо заранее.

ответ

0

UITableViewController - это действительно UIViewController, который содержит выход для UITableView и реализует два делегата tableview: UITableViewDelegate и UITableViewDataSource.

Возможно, вы захотите заменить экземпляр viewcontroller в файле nib на UITableViewController, а не на стандартный UIViewController.

В качестве альтернативы вы можете вручную настроить экземпляр ForthViewController, создав выход для содержащегося UITableView, чтобы вывести представление tableview как свойство.

Однако, если вы сделаете это так, вам также придется вручную реализовать два делегата tableview UITableViewDelegate и UITableViewDataSource где-нибудь (возможно, в ForthViewController) и вручную связать UITableView с этими делегатами.

+0

Привет, спасибо за ответ так быстро и ясно. Я начал делать так, прежде чем я прочитал ваш ответ. И я думаю, что это ваш «альтернативный» способ сделать это. @interface FourthViewController: UIViewController { NSMutableArray * arrayKA; IBOutlet UITableView * TableKA; } Я хоккей вверх по IBOutlet с tableView (перетаскивание в SB) Я не понимаю ваши последние слова «..и вручную связать UITableView с этими делегатами». Я новичок в Xcode, но я думаю, что смогу понять это, если вы поможете мне понять, что означает u. Еще раз спасибо! Большая помощь! – EmilOoo

+0

@EmilOoo Что я имел в виду под «вручную ассоциировать UITableView с этими делегатами», что в вашем ForthViewController. вам нужно будет явно указать что-то вроде self.TableView.delegate = self; self.TableView.Datasource = self; Проверьте документы Apple на методы, которые необходимо реализовать, когда вы используете этих делегатов. Надеюсь это поможет! – pdriegen

 Смежные вопросы

  • Нет связанных вопросов^_^