如何将HKBloodType枚举转换为字符串

时间:2015-07-17 21:53:09

标签: ios xcode swift

我需要使用此变量将枚举转换为字符串:

var bloodType:HKBloodTypeObject? = healthKitStore.bloodTypeWithError(&error);

这个枚举:

enum HKBloodType : Int {
    case NotSet
    case APositive
    case ANegative
    case BPositive
    case BNegative
    case ABPositive
    case ABNegative
    case OPositive
    case ONegative
}

我知道还有其他类似的问题,但我找不到任何对我有用的答案。

2 个答案:

答案 0 :(得分:0)

创建一个HKBloodType的扩展程序,用于实现CustomStringConvertiblePrintable for Swift< 2),请参阅此处:https://stackoverflow.com/a/24707744/335974

答案 1 :(得分:0)

简单描述:HKBloodTypeObject作为HealthKit存储中HKBloodType参数的包装。

extension HKBloodTypeObject {
    func string()->String {
        switch self.bloodType {
        case .abNegative:
            return "AB-"
        case .abPositive:
            return "AB+"
        case .aNegative:
            return "A-"
        case .aPositive:
            return "A+"
        case .bNegative:
            return "B-"
        case .bPositive:
            return "B+"
        case .oNegative:
            return "O-"
        case .oPositive:
            return "O+"
        default:
            return "Not Set"
        }
    }
}

使用此HKBloodType枚举扩展名的最佳方法。 希望上面的代码行可以帮助你。