Изменение делегата SearchDisplayController в построителе интерфейса

Я пытаюсь показать панель поиска над таблицей со списком недавних поисков, которые будут заменены на соответствующие результаты поиска, как только кто-то введет поисковый запрос.

Я хочу установить пользовательский класс MySearchViewController в качестве делегата для выполнения поиска и управления отображением результатов поиска обратно в таблицу, чтобы я мог отделить код и не иметь условных операторов в контроллере по умолчанию.

Я нашел кучу примеров, которые описывают, как это сделать в коде, но я не могу понять, как это сделать с помощью Interface Builder.

Я попытался перетащить новый контроллер представления в свой xib и установить пользовательский класс на MySearchViewController, а затем перетащить выходы из SearchDisplayController, как указано здесь: http://goo.gl/RgmwG

Я также попытался перетащить объект в столбец объектов и изменить этот класс на MySearchViewController.

Но я чувствую себя совершенно потерянным и действительно просто пробую что-то наугад. Я предполагаю, что мне также нужно создать свойство/IBOutlet для SearchDisplayController где-то, но снова потерял.

Если у кого-нибудь есть ссылка на то, как это сделать, я был бы так счастлив!


person MathewS    schedule 01.06.2012    source источник


Ответы (1)


Как и большинство проблем, в ретроспективе она кажется довольно очевидной.

  • Добавьте заполнитель «объект» в конструкторе интерфейса (оранжевый куб).
  • Измените пользовательский класс объектов на класс, который вы хотите быть делегатом, например. MySearchViewController
  • Удалите стандартные розетки из стандартного SearchDisplayContoller для подключения к объекту MySearchViewController (см. скриншот)
  • Убедитесь, что у нового делегата есть выход в родительское представление (в моем случае View)
  • Убедитесь, что класс делегата инициирован откуда-то

    // I did this from the parent ViewConroller, but probably better from the main app delegate?  
    @property (strong, nonatomic) IBOutlet MSSearchViewController *searchViewController;   
    

Надеюсь, это поможет кому-то еще, кто также застрял!

Выходы для MySearchViewController

person MathewS    schedule 05.06.2012