Создайте пользовательские отношения @IBOutlet, такие как UITabBarController - PullRequest
0 голосов
/ 20 марта 2019

Я думаю, что нет никакого способа сделать это, но мне было интересно, можно ли как-то создать @IBOutlet, который бы работал как отношения, вроде как вы можете подключить кучу viewControllers к UITabBarController

Я пытался добавить

@IBOutlet var controllers: [UIViewController]?

к моему ВК, но неудивительно, что IB не позволит мне подключить эту розетку к ВК в других сценах.

Примечание: я не ищу обходных путей, я знаю, что могу использовать storyboard?.instantiateViewController(), и вот что я делаю. Но возможность щелкать мышью - это круто, и именно поэтому я хочу попробовать это сделать. Спасибо.

1 Ответ

0 голосов
/ 20 марта 2019

Я не уверен, что возможно иметь 1 выход, представляющий список UIViewControllers, однако, у вас есть возможность получить аналогичное поведение с вашим кодом:

var registeredControllers:[UIViewController] = []
// Base Class
class RegisterableViewController: UIViewController{
    override func viewDidLoad() {
        registeredControllers.append(self)
    }
}
// Used in your UI Code
class ViewController1:RegisterableViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        //Initialize UI
    }
}
...