【问题标题】:Passing data to another ViewController with a NavigationController in the way以 NavigationController 的方式将数据传递给另一个 ViewController
【发布时间】:2016-03-04 14:33:10
【问题描述】:

我有一个嵌入在标签栏中的 ViewController,但也可以通过按下其他 ViewController 中的一个按钮来访问。只有当它被另一个 ViewController 触发时,我才希望出现一个取消按钮。

在包含按钮的 ViewController 上,我尝试通过在 newViewController 中设置一个变量来传递数据,但是由于有一个 NavigationController 挡住了它,它不会让我访问它。有解决办法吗?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
   let cancelsegue = segue.destinationViewController as! AddExerciseTableViewController
    cancelsegue.cancel = segue.identifier!
}

【问题讨论】:

  • 您执行此操作的方式与没有导航控制器的方式相同,1. 通过初始化程序注入传递变量来重载初始化程序,或者 2. 您在TAbie 视图控制器,以便在初始化 tableview 控制器时调用该函数或属性,然后再推送或呈现 tableview 控制器。或者 3. 使用委托。我认为最简单的方法是什么?最简单的方法是使用自定义初始化程序进行注入。
  • 如何从那段 segue 代码中调用初始化程序?

标签: ios xcode swift uinavigationcontroller


【解决方案1】:

如果您想引用嵌入在导航栏中的视图控制器,您可以尝试以下操作:

let destinationController = segue.destinationViewController.childViewControllers.first! as! SomeViewController

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    相关资源
    最近更新 更多