2

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

var level:String = ("easy")

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

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

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

谢谢

4

1 回答 1

0

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

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

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

于 2017-06-12T08:52:18.727 回答