передать данные из контроллера табуляции для просмотра контроллера в swift и xcode - PullRequest
0 голосов
/ 26 августа 2018

Я хочу передать данные из контроллера представления в контроллер панели вкладок, а затем из этого контроллера панели вкладок в свой контроллер представления с использованием их класса.Мне удалось перейти от контроллера представления к контроллеру табуляции с помощью segue.Однако я не могу передать данные из контроллера панели вкладок в один из контроллеров представления.

Любая идея / документация приветствуется.Вот скриншот о том, что я хочу сделать из xcode screenshot-xcode

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Наконец-то я смог решить проблему, большое спасибо answer .Вот подробное объяснение для начинающих, таких как я:

Это класс контроллера источника, который является контроллером панели вкладок и передает данные:

class SourceTC: UITabBarController {

    var dataTransferFrom = "transfer this string"

    override func viewDidLoad() {
        super.viewDidLoad()

        let finalVC = self.viewControllers![0] as! DestinationVC //first view controller in the tabbar
        finalVC.dataTransferTo = dataTransferFrom

    }

}

, и это класс контроллера назначения, который является контроллером представления под контроллером табуляции и получает переданные данные:

class DestinationVC: UIViewController {

    var dataTransferTo = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        print(dataTransferTo)

    }
}
0 голосов
/ 26 августа 2018

Посмотрите документацию для контроллера панели вкладок, в частности свойство viewControllers.

Это свойство является массивом UIViewController с в том порядке, в котором онипоявляются на панели вкладок, так что вы можете выбрать тот, который вам нужен (viewControllers[0] из вашего снимка экрана), привести его к вашему подклассу контроллера представления и затем передать ему ваши данные.

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