我想在两个接口控制器之间传递一个字符串。在InterfaceController1
我想创建一个变量,如:
var level: String = ("easy")
然后就可以访问那个变量了InterfaceController2
。
Stack Overflow 目前只有一个答案,但它是在 Swift 1 发布时创建的,我找不到任何最新的答案。
我不想使用全局变量,因为我知道不推荐使用它们。
我想在两个接口控制器之间传递一个字符串。在InterfaceController1
我想创建一个变量,如:
var level: String = ("easy")
然后就可以访问那个变量了InterfaceController2
。
Stack Overflow 目前只有一个答案,但它是在 Swift 1 发布时创建的,我找不到任何最新的答案。
我不想使用全局变量,因为我知道不推荐使用它们。
在不使用全局或单例(在这种情况下本质上是全局)的情况下实现此目的的最佳方法是使用委托模式。在 InterfaceController2 中创建一个 InterfaceController1 类型的委托,并在显示 InterfaceController2 时设置它。然后,当您需要该值时,您可以调用 InterfaceController1Delegate.level 来访问该值。
你可能会错误地解决这个问题。从您的名称和值的声音来看,您似乎在视图控制器中为应用程序持有状态值。如果是这种情况,我会坚持更多的 MVC 设计,并将它们保存在一个或多个状态类中,这些类可以传递或者可以从可能需要它们的各种视图控制器访问。