我遇到了Swift类属性的问题,我不知道要搜索什么。
我想创建这样的东西:
defenceSystem.status = status.online
defenceSystem.status = status.offline
defenceSystem.status = status.destroyed
所以基本上我希望status
属性(或类;不确定它应该是什么)有3个值:online
,offline
和destroyed
。
但我希望这3个属性具有自定义类型,而不是String,Int或其他任何东西。基本上我不希望他们存储任何东西。只是像旗帜一样。
我以为我应该写这样的东西:
class defenceSystem {
class status {
// Declare the 3 status types
}
var status = status()
defenceSystem.status = status.online
}
我尝试写var online
,但Xcode说它需要一个类型。
答案 0 :(得分:3)
您可以使用enum
来保存三种不同的状态。 E.g。
class DefenceSystem {
enum Status {
case Online
case Offline
case Destroyed
}
var status: Status
init(status: Status) {
self.status = status
}
}
let defenceSystem = DefenceSystem(status: .Online)
print(defenceSystem.status) // Online
defenceSystem.status = .Offline
print(defenceSystem.status) // Offline
答案 1 :(得分:0)
enum Status
{
case online
case offline
case destroyed
}
class defenceSystem:<Your Super class>
{
var status:Status
}
class ViewController: UIViewController {
override func viewDidLoad()
{
super.viewDidLoad()
let defence = defenceSystem();
defence.status = Status.online
print(defence.status)
defence.status = Status.offline
print(defence.status)
defence.status = Status.destroyed
print(defence.status)
}
}
使用枚举来定义所有选项的状态,然后创建枚举属性并根据需要在枚举中设置值。
我希望你的要求得到满足。