我正在使用 Core Data,我的一个谓词根据以下枚举检索数据:
enum Period : Int {
Daily
Weekly
Monthly
}
我的谓词是这样的:
public static func byTypePredicate(periods: [Int]) -> NSPredicate {
return NSPredicate(format: "period IN %@", periods)
}
我的问题是我不想在调用这个谓词时使用 Int 的
,我想传递 Period
枚举,但是在谓词内部必须转换它到 Int
以使其工作。
有没有快速转换的方法?
最佳答案
您可以使用 map()
方法(属于 Sequence
协议(protocol))将每个枚举映射到它的整数原始值:
func byTypePredicate(periods: [Period]) -> NSPredicate {
let intPeriods = periods.map { $0.rawValue } // [Int]
return NSPredicate(format: "period IN %@", intPeriods)
}
关于ios - 如何将枚举数组转换为整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39731384/