一尘不染

如何在Swift中创建全局变量?

swift

我试图设置一个全局变量。就我而言,只是一个布尔标志,用于指示是否首次显示视图:

var initialLoadFlag: Bool = true

呈现视图后,我想将此标志设置为false:

var initialLoadFlag: Bool = false

然后检查它:

if initialLoadFlag {
   showWelcomeMessage() 
}

因此,我想创建initialLoadFlag一个全局变量。在哪里以及如何?我试过了:

  • viewDidLoad我的视图控制器领域
  • application()我的AppDelegate.swift文件中的方法中
  • AppDelegate班上

没运气。我收到一条Use of unresolved identifier 'initialLoadFlag'错误消息

(注意:我意识到,在这个问题中,我背叛了我对Swift中如何处理范围的无知。请原谅我。我处于截止日期,对这种语言还是陌生的。)

谢谢你的帮助。


阅读 334

收藏
2020-07-07

共1个答案

一尘不染

您可以将标志存储在主控制器中,并在对详细信息控制器执行segue时将其设置为true。例如

class MasterViewController: UIViewController {

    var firstTimePresenting = true

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "showDetail" {
            if firstTimePresenting {
                println("First time!")
                firstTimePresenting = false
            }
        }
    }
}
2020-07-07