Swift 类自定义类型属性

标签 swift class properties

我在使用 Swift 类属性时遇到问题,我不知道要搜索什么。

我想创建这样的东西:

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

所以基本上我希望 status 属性(或类;不确定它应该是什么)有 3 个值:onlineoffline销毁

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

关于Swift 类自定义类型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243668/

相关文章:

SwiftUI - 从核心数据 NSSet 中删除 - @FetchRequest with .onDelete()

java - 访问 Mule 流中的属性

swift - 为什么 Swift 中不需要 "new"关键字?

swift - 将 userData 作为字典使用

PHP类的继承和重写?

c# 不能声明具有相同参数的静态和非静态方法?

c++ - 在堆栈上构造之前的定义?类似于指针

c# - 运行时生成的属性 (PropertyGrid.SelectedObject)

c# - 不带日期时间函数(如 ToShortDateString())的 DateTime 等类型的隐式运算符

Swift:使 UILabel 高度等于文本高度