Swift 4 Upgrade导致全局变量使用“未解析的标识符”

时间:2017-11-07 22:51:29

标签: swift compiler-errors global-variables swift4

我已经安装了Swift 4,并且需要进行一些新的修改,因为会出现很多错误。 我已经解决了一些问题/警告,但我正在努力争取这个问题。

我在另一个swift文件中声明了我的GlobalVariables。

class GlobalVariables {
    static var sharedinstance = GlobalVariables()

    var circuitselectionne: String?
    var channeldetelechargement: String?

    private init() {
        ...
    }
}

我在另一个视图控制器中使用此全局变量,如下所示:

print(GlobalVariables.sharedinstance.circuitselectionne!)

使用Swift 3,一切正常,但现在,我有这个错误:

  

使用未解析的标识符GlobalVariables

这种变化有什么想法和原因吗?

2 个答案:

答案 0 :(得分:0)

我在测试项目中试过你的代码。它工作正常。 您可以在link中查看。

您从目标中取消选中文件的另一个想法。 enter image description here

请检查:

enter image description here

答案 1 :(得分:0)

我有一个班级的扩展名:

extension CommandLineApplication: GADInterstitialDelegate {

    /// Set up ads.
    public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {

        ...

        interstitial = createAndLoadInterstitial()

        return true
    }

    ...
}

和一个全局变量:var interstitial: GADInterstitial!

我修正了将模块名称放在声明全局变量的错误。我的项目名为LibTerm,所以我写了LibTerm.interstitial