У меня есть простой setNavigation
метод, который у меня есть в UIViewController и UITableViewController. Я пытаюсь найти способ, с помощью которого я могу ссылаться на код в этих двух разных типах контроллеров без необходимости определять функцию отдельно в каждом контроллере.
func setNavigation() {
let logoutButton = UIButton(type: .system)
logoutButton.addTarget(self, action: #selector(logOut), for: .touchUpInside)
logoutButton.setTitle("LOGOUT", for: .normal)
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: logoutButton)
self.title = "Some App"
let refreshButton = UIButton(type: .system)
refreshButton.setImage(UIImage(named: "icon_refresh"), for: .normal)
refreshButton.addTarget(self, action: #selector(refresh), for: .touchUpInside)
let refreshBarButton = UIBarButtonItem(customView: refreshButton)
let postButton = UIButton(type: .system)
postButton.setImage(UIImage(systemName: "plus"), for: .normal)
postButton.addTarget(self, action: #selector(post), for: .touchUpInside)
let postBarButton = UIBarButtonItem(customView: postButton)
navigationItem.setRightBarButtonItems([refreshBarButton, postBarButton], animated: true)
}
Как видите, setNavigation довольно прост, и я не вижу причин, почему я не мог использовать его как в UIViewController, так и в UITableViewController. Каков оптимальный способ организовать этот код?