一尘不染

在Swift中声明全局变量

swift

我想制作一个可以在整个应用程序中访问的自定义对象的全局数组(AppDelegate,ViewController类,TableViewController类等)。我已经研究了一种解决方法,但没有找到答案。我曾尝试将数组设置为公共范围,但是收到了编译器警告,提示Declaring public variable from internal class当我尝试在其他文件中访问该数组时,出现错误提示Use of unresolved identifier 'arrayObjectives'

我将如何使该数组可被应用程序中的所有文件全局访问,我将在哪里实例化该数组?


阅读 1163

收藏
2020-07-07

共1个答案

一尘不染

Swift编程语言

全局变量是在任何函数,方法,闭包或类型上下文之外定义的变量

因此,您可以在import语句之后直接在任何文件的顶部声明变量。

但是,我建议您认真考虑一下。通常,全局变量不是一个好主意。您最好在单例上使用属性或使用依赖项注入。

您的第二个问题“我将在哪里实例化数组?” 这是全局变量不佳的部分原因-根据其他对象,它们的生命周期定义不明确。首次使用时初始化的单例消除了此问题。

2020-07-07