【问题标题】:Passing Data between Interface Controllers on Xcode 8.0 Swift 3.0在 Xcode 8.0 Swift 3.0 上的接口控制器之间传递数据
【发布时间】:2017-11-12 10:58:06
【问题描述】:

我想在两个接口控制器之间传递一个字符串。在 InterfaceController1 我想创建一个变量,如:

var level:String = ("easy")

然后能够访问 InterfaceController2 上的该变量。

我不想使用全局变量,因为我知道不推荐使用它们。

StackOverFlow 上有一个答案,但它是在 Swift 1 发布时创建的,我找不到任何最新的答案。

谢谢

【问题讨论】:

    标签: swift xcode swift3 apple-watch wkinterfacecontroller


    【解决方案1】:

    您有多种选择来实现这一目标。

    1. 使用pushController(withName:,context:) 并将level 设置为上下文输入参数,然后在InterfaceController2 的awake(withContext:) 中使用该变量。
    2. 如果您需要从多个类访问 InterfaceController2 的变量或者您不直接导航到 InterfaceController2,请使用单例(将变量声明为静态)。

    如果您只需要从 InterfaceController1 设置该变量,并且直接从 InterfaceController1 呈现 InterfaceController2,则选项 1 是首选方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多