我有一个我正在研究的应用程序,它有各种使用相同常量的viewcontrollers。
离。
let wrongAnswerBanner = UIImageView(image: UIImage(named: "torn_banner"))
我尝试在viewcontrollers之外声明常量,但每当我尝试使用self调用常量时。
self.wrongAnswerBanner.hidden = false
我收到错误:类型的值' ViewController1'没有会员' wrongAnswerBanner'。如何声明这些常量而不必在每个单独的viewcontroller中重新声明它们?
答案 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 而无需使用自我