аналогичные элементы навигации по UIViewController и UITableViewController - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть простой 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. Каков оптимальный способ организовать этот код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...