如何声明Swift中多个viewcontrollers可以访问的常量?

时间:2016-01-12 04:12:15

标签: ios swift uiviewcontroller constants

我有一个我正在研究的应用程序,它有各种使用相同常量的viewcontrollers。

离。

let wrongAnswerBanner = UIImageView(image: UIImage(named: "torn_banner"))

我尝试在viewcontrollers之外声明常量,但每当我尝试使用self调用常量时。

self.wrongAnswerBanner.hidden = false

我收到错误:类型的值' ViewController1'没有会员' wrongAnswerBanner'。如何声明这些常量而不必在每个单独的viewcontroller中重新声明它们?

4 个答案:

答案 0 :(得分:0)

使用常量创建结构:

struct Constant {

    static let SomeConstant = "hey"

}

然后您可以通过

从任何类中获取值
let constant = Constant.SomeConstant

答案 1 :(得分:0)

您可以在类范围之外声明常量,并直接从模块内的任何文件访问它。

档案1

let MyConstant = "MyConstant"
class A {

}

文件2

class B {
    // use MyConstant directly (eg. print(MyConstant))
}

我通常会为UITableViewCell个标识符执行此操作。我将它们声明在我的UITableViewCell子类之上,并在ViewController文件中使用它们。虽然(正如其他开发人员所提到的)UIImageView可能不是常量的良好候选者,但它没有价值。如果对您的问题有意义,您也可以使用Enums。

答案 2 :(得分:0)

尝试在没有self

的情况下调用常量

答案 3 :(得分:0)

根据我的说法,你必须在你的应用程序中创建一个AppConstant.swift文件,然后在AppConstant.swift文件中添加这一行

让wrongAnswerBanner = UIImageView(图片:UIImage(名称:" torn_banner"))

然后在任何控制器中,您都可以轻松访问 wrongAnswerBanner 而无需使用自我