Ваш вопрос похож на вопрос "В чем разница между UIView
и UIViewController
?"
UISearchBar
- это представление . У него есть текстовое поле и (опционально) кнопка, и это почти все.
UISearchController
- это контроллер , который управляет более абстрактным поведением «поиска». Одна из его задач - контролировать поведение его searchBar
, но у него также есть много других заданий, таких как указание searchResultsUpdater
, что он должен обновить результаты поиска (потому что текст в панели поиска изменился, или что-то еще ). Он также предоставляет такие свойства, как obscuresBackgroundDuringPresentation
и hidesNavigationBarDuringPresentation
, чтобы управлять тем, как должны выглядеть представления, когда панель поиска является первым респондентом.
Если вы используете UISearchBar
напрямую, вам нужно вручную реализовать все эти вещи, которые UISearchController
делает для вас. Это может быть желательно, если вы намерены создать свой собственный вид поиска, которого не обеспечивает UISearchController
, но если вы просто хотите использовать в своем приложении простую старую функцию поиска, используйте UISearchController
, потому что это сэкономит вам много времени.