gpt4 book ai didi

ios - 在 Swift 1.2 中编码和解码枚举

转载 作者:搜寻专家 更新时间:2023-10-31 22:08:06 25 4
gpt4 key购买 nike

我的 Swift 类中有一个 enum 和一个声明的变量。我需要使用 NSCoder 对其进行编码和解码。关于我应该使用rawValue这句话有很多疑问。 Enum 声明如下:

enum ConnectionType {
case Digital, PWM
}

但是在 Swift 1.2 中没有这样的初始化器。如何在 Swift 1.2 和 Xcode 6.3 中做到这一点?

最佳答案

您必须为枚举定义一个“原始类型”,例如

enum ConnectionType : Int {
case Digital, PWM
}

然后你可以用它编码

aCoder.encodeInteger(type.rawValue, forKey: "type")

并解码

type = ConnectionType(rawValue: aDecoder.decodeIntegerForKey("type")) ?? .Digital

零合并运算符 ?? 用于提供默认值如果解码后的整数对枚举无效。

关于ios - 在 Swift 1.2 中编码和解码枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30421399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com