#ios #iphone #objective-c #xcode
#iOS #iPhone #цель-c #xcode
Вопрос:
Я пытаюсь добавить функцию поиска в свое приложение, но на экране должна быть панель навигации в дополнение к строке поиска в UITableView. Я получаю следующую ошибку, когда выполняю переход (нажимаю кнопку) и загружается представление
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "2Gx-ec-tTH-view-HBf-bD-79u" nib but didn't get a UITableView.'
Вот как это выглядит на моей раскадровке.
Я считаю, что проблема в том, что эта сцена управляется классом с именем «AllDataViewController», и он управляет UIView и является подклассом UITableView, на самом деле это PFQueryTableViewController
//AllDataTableViewController.h
@interface AllDataTableViewController : PFQueryTableViewController <UISearchDisplayDelegate, UISearchBarDelegate, UITableViewDelegate>
Так что я не уверен, что я здесь делаю не так. Но дайте мне знать, если у вас есть какие-либо предложения или мне нужно добавить дополнительную информацию.
Ответ №1:
Поскольку ваш подкласс view controller UITableViewController
(ну, косвенно через PFQueryTableViewController
), он ожидает, что его view
свойство будет ссылаться на экземпляр a UITableView
. Если вы посмотрите на иерархию объектов в сцене раскадровки, я думаю, вы обнаружите, что корнем сцены является не a UITableView
, а a UIView
.
Как вы добавили панель навигации? Правильный метод — выбрать «вставить в …» в меню редактора в построителе изображений.
Комментарии:
1. Я просто перетащил его из пользовательского интерфейса. Я буду «вставлять» и посмотреть, что произойдет.
2. @Paulw11 У меня такая же проблема. У меня есть
UIView
подобный root, можете ли вы предоставить решение? УдалитьUIView
— это правильный способ?