【问题标题】:pass data from tabbar controller to view controller in swift and xcode将数据从标签栏控制器传递到 swift 和 xcode 中的视图控制器
【发布时间】:2018-08-26 19:04:36
【问题描述】:

我想将数据从视图控制器传递到标签栏控制器,然后使用它们的类从这个标签栏控制器到它的视图控制器。我成功地使用 segue 从视图控制器转移到标签栏控制器。但是,我无法将数据从标签栏控制器传输到其视图控制器之一。

任何想法/文档将不胜感激。这是关于我想从 xcode 执行的操作的屏幕截图 screenshot-xcode

【问题讨论】:

    标签: ios swift xcode uiviewcontroller uitabbarcontroller


    【解决方案1】:

    查看标签栏控制器的documentation,尤其是viewControllers 属性。

    该属性是UIViewControllers 的数组,按照它们在选项卡栏中出现的顺序排列,因此您可以选择您需要的(屏幕截图中的viewControllers[0]),将其投射到您的特定视图控制器子类然后将您的数据传递给它。

    【讨论】:

      【解决方案2】:

      最后,我能够解决这个问题,非常感谢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)
      
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2013-07-18
        • 1970-01-01
        • 2015-02-10
        • 2017-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-12
        • 2018-12-23
        相关资源
        最近更新 更多