Swift类自定义类型属性
问题描述:
我遇到了Swift类属性的问题,我不知道要搜索什么。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中说,它需要一个类型。
答
您可以使用enum
来保持三种不同的状态。例如。
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
答
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)
}
}
使用枚举与定义的所有选项的状态,然后创建枚举的属性,并设置在枚举值,你需要的。
我希望你的要求得到满足。