У меня есть приложение с несколькими контроллерами представления.Я реализую панель поиска для навигации по табличному представлению , которое находится в каждом из этих контроллеров представления.
Я решил реализовать контроллер поиска с помощью пользовательского класса, где я обрабатываю всю логику поиска.Чтобы сделать это возможным, я в настоящее время использую суперкласс, от которого наследуется каждый контроллер представления.Я хотел бы знать, есть ли для меня способ сделать эту работу без подклассов.
Вот текущая реализация моего SearchController
класса:
class SearchController: NSObject, UISearchBarDelegate {
/* This is the trouble spot. If I change this to UIViewController?,
I get the compiler error "value of type UIViewController has no member tableView" */
weak var viewController: BaseViewController?
/*
... rest of SearchController implementation
includes methods that interact with view controller table views
*/
}
это класс BaseViewController
:
class BaseViewController: UIViewController {
let searchController = SearchController()
let tableView = UITableView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
/*
... rest of BaseViewController implementation
*/
}
Подводя итог, у меня возникает проблема в том, что у меня есть несколько контроллеров представления с табличными представлениями, и я не могу заставить эту работу работать без создания новогобазовый класс, от которого они могут наследовать.Использование UIViewController
просто не будет работать, потому что класс UIViewController не имеет встроенного свойства tableView
.
Есть идеи?