这是一个SubtitleCustomField类。
Class SubtitleCustomField: CustomCellField {
static var CellIdentifier: String!
override init(frame: CGRect) {
super.init(frame: frame)
if CellIdentifier == "A" {
//DO SOMETHINIG
} else if CellIdentifier == "B" {
//DO SOMETHING
}
}
}
在SubtitleCustomField类之外,我基本上需要访问静态变量CellIdentifier,设置类似" A"的值,并触发if语句运行。
在另一个类Custom类中,我已经确认我可以通过以下方式访问静态变量CellIdentifier:
Class Custom: CustomViewController {
SubtitleCustomField.CellIdentifier = "part1_subtitle"
}
此时我遇到了问题。在SubtitleCustomField类中,我在if CellIdentifier == "A"
上说
静态成员' CellIdentifier'不能在类型的实例上使用 ' SubtitleCustomField'
我可以用什么方法来达到我想要的效果?总之,我想在SubtitleCustomField之外设置CellIdentifier变量,并使用在SubtitleCustomField类中设置的值触发if语句。
答案 0 :(得分:2)
错误消息试图告诉您正在引用类型属性(静态属性),就好像它是实例属性一样。你需要序言" CellIdentifier"用" SubtitleCustomField"在你的SubtitleCustomField初始化程序中,就像你在别处引用它一样。
override init(frame: CGRect) {
super.init(frame: frame)
if SubtitleCustomField.CellIdentifier == "A" {
//DO SOMETHINIG
} else if SubtitleCustomField.CellIdentifier == "B" {
//DO SOMETHING
}
}
您应始终使用类型名称后跟"来引用类型属性。"后跟属性名称。