Swift类自定义类型属性

Swift类自定义类型属性

问题描述:

我遇到了Swift类属性的问题,我不知道要搜索什么。Swift类自定义类型属性

我想是这样创造的东西:

defenceSystem.status = status.online 
defenceSystem.status = status.offline 
defenceSystem.status = status.destroyed 

所以基本上我想要的status属性(或类;不知道它应该是什么)有3个值:onlineofflinedestroyed

但我希望这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) 

    } 
} 

使用枚举与定义的所有选项的状态,然后创建枚举的属性,并设置在枚举值,你需要的。

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html

我希望你的要求得到满足。