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