Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 4升级原因“;未解析标识符的使用“;对于全局变量_Swift_Compiler Errors_Global Variables_Swift4 - Fatal编程技术网

Swift 4升级原因“;未解析标识符的使用“;对于全局变量

Swift 4升级原因“;未解析标识符的使用“;对于全局变量,swift,compiler-errors,global-variables,swift4,Swift,Compiler Errors,Global Variables,Swift4,我已经安装了Swift 4,需要做一些新的修改,因为出现了很多错误。 我已经修复了一些问题/警告,但我正在为此而努力 我在另一份swift文件中声明了我的全球变量 class GlobalVariables { static var sharedinstance = GlobalVariables() var circuitselectionne: String? var channeldetelechargement: String? private ini

我已经安装了Swift 4,需要做一些新的修改,因为出现了很多错误。 我已经修复了一些问题/警告,但我正在为此而努力

我在另一份swift文件中声明了我的全球变量

class GlobalVariables {
    static var sharedinstance = GlobalVariables()

    var circuitselectionne: String?
    var channeldetelechargement: String?

    private init() {
        ...
    }
}
我在另一个视图控制器中使用这个全局变量,如下所示:

print(GlobalVariables.sharedinstance.circuitselectionne!)
使用Swift 3,一切正常,但现在,我出现了以下错误:

使用未解析标识符
全局变量


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

我已经在测试项目中尝试了您的代码。它很好用。 你可以登记

另一个想法是取消选中目标文件。

请检查:


我在测试项目中尝试了您的代码。它很好用。 你可以登记

另一个想法是取消选中目标文件。

请检查:


我有一个类的扩展:

extension CommandLineApplication: GADInterstitialDelegate {

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

        ...

        interstitial = createAndLoadInterstitial()

        return true
    }

    ...
}
还有一个全局变量:
var interstitual:gadcinterstitual


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

我有一个类的扩展:

extension CommandLineApplication: GADInterstitialDelegate {

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

        ...

        interstitial = createAndLoadInterstitial()

        return true
    }

    ...
}
还有一个全局变量:
var interstitual:gadcinterstitual


我修复了将模块名称放在声明全局变量中的错误。我的项目名为LibTerm,所以我写了代码> LyTalm。ILP< <代码> < /p>无关,但是您可能应该考虑声明您的代码> GULALALATIONS。SysDebug < /CUT>作为常量引用(使用<代码>让而不是<代码> var <代码>)@hugo75如果
类GlobalVariables
是不同的包/模块,则必须将其指定为
public
,因为默认情况下,没有声明为
内部
的说明符的所有类都不能在包/模块外部使用。@deoKasuhal,我已尝试,但没有更改…:(无关的,但您可能应该考虑将您的<代码>全局变量.SysDebug实例/代码>作为常量引用(使用<代码>让而不是<代码> var < /代码>)@hugo75如果
类GlobalVariables
是不同的包/模块,则必须将其指定为
public
,因为默认情况下,没有声明为
内部
的说明符的所有类都不能在包/模块外部使用。@deoKasuhal,我已尝试,但没有更改…:(经典错误…我以为是Swift 4升级…Thx mate经典错误…我以为是Swift 4升级…Thx mate