我正在我的库中实现NSCoding,但我需要序列化一个枚举变量,我无法将其传递给AnyObject?
的函数。如何在Swift中完成?这是我的枚举:
enum ServerType {
case PC
case PE
}
此外,toRaw()
不存在fromRaw()
和ServerType
。我可以访问的唯一属性是hashValue
,我没有可以访问的方法。
答案 0 :(得分:3)
这类似于@Bennett的答案,但您可以将它与NSNumber
一起使用,如下所示:
enum ServerType: UInt {
case PC
case PE
}
let someType: ServerType = .PE
NSNumber(value: someType.rawValue) // 1
答案 1 :(得分:0)
将您的代码更改为
enum ServerType : String {
case PC
case PE
}
您应该可以使用rawValue
参数。