Перезагрузка tableView, когда подклассы вызывают сбой - PullRequest
0 голосов
/ 30 сентября 2010

Эй, ребята!У меня есть некоторые проблемы перезагрузка моего tableView.У меня есть подклассы tableView с классом RadioTable .У меня также есть подклассы моих TableViewCells, но это не важно здесь.

Я должен отметить, что я довольно новый, и создал свой подкласс из некоторых учебных пособий и прочего., вот сообщение об ошибке , которое я получаю, когда пытаюсь перезагрузить свои данные.Я перезагружаю его с помощью [self.tableView reloadData].

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "MainView" nib but didn't get a UITableView.'

Итак, проблема довольно ясна.Представление (мой nib-файл) не имеет никаких таблиц, связанных с владельцем файлов.И это то, что я пытался решить.Я попытался добавить IBOutlet в свой подкласс и установить там свойство tableView.

(Мой подкласс tableView унаследован от UITableView, так что все ясно)* Вот мой init-код:

- (id)initWithStyle:(UITableViewStyle)style {

 if ((self = [super initWithStyle:style])){
  RadioTable *aTableView = [[RadioTable alloc] initWithFrame:self.tableView.frame style:style];
  [aTableView setDelegate:self];
  [aTableView setDataSource:self];
  [aTableView setSwipeDelegate:self];
  [aTableView setRowHeight:54];

     [self setTableView:aTableView];
        [self.tableView setScrollEnabled:NO];
        [self.tableView setRowHeight:80];
        [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
        [self.tableView setSeparatorColor:[UIColor lightGrayColor]];
  [aTableView release];

 }

 return self;
}

TableView работает нормально, когда я запускаю приложение, оно работает perfect .Но проблема возникает, когда я пытаюсь перезагрузить это.

1 Ответ

2 голосов
/ 30 сентября 2010

Я не уверен, решит ли это вашу проблему, но не создавайте представление вашего контроллера представления в его методе init.Вместо этого переопределите loadView и создайте табличное представление в этом методе.И присвойте таблицу не только свойству tableView, но и свойству view контроллера представления.

См. Документацию по loadView и viewDidLoad для получения дополнительной информации.

...