Что может делать «Объект» в библиотеке объектов раскадровки?

Короткий вопрос

В библиотеке объектов построителя интерфейса XCode есть вещь под названием Object. Интересно, какую задачу можно решить, используя этот «Объект».

Если быть точным, это NSObjectв Storyboard (или xib ). Это описано следующим образом:

Provides a template for objects that are not directly available in Interface Builder. You can turn this object into an instance of any class using the custom class inspector.

Длинный вопрос

Я пытаюсь построить UITableViewControllerвместе с UISearchController. Поскольку они оба требуют реализации UITableViewDelegateи UITableViewDatasourceв своем делегате, я хотел бы назначить делегата UISearchControllerобъекту, отличному от основного UITableViewController.

Я ищу способ добиться этого в раскадровке, а не назначать делегата вручную в viewDidLoad. Особенно, выяснив, как Objectработает в раскадровке.

Я понимаю, что могу отличить их по экзамену родителей UITableView. Но всегда хорошо разделить логику на разные объекты. Его будет легче внедрить, повысить эффективность, лучше структурировать и можно будет использовать повторно.

Заранее спасибо.

Что я пробовал

  • Поместите Objectна тот же уровень UITableViewControllerв раскадровке (Вы не можете поместить Objectв другойUIViewController).
    Свяжите его с @property (nonatomic, weak) IBOutlet NSObject *в UITableViewController.
    NSObject *оказывается указателем nil, когда я печатаю его в viewDidLoad. Не повезло.
  • Изменив свойство на @property (nonatomic, strong), оно станет UICustomObjectвместо nil. Кажется, я на правильном пути.
11
задан Greg Wang 22 July 2012 в 02:17
поделиться