I am using Core Data and one of my predicates retrieves data based on the following enum:
enum Period : Int {
Daily
Weekly
Monthly
}
My predicates is like this:
public static func byTypePredicate(periods: [Int]) -> NSPredicate {
return NSPredicate(format: "period IN %@", periods)
}
My problem is I don't want to use Int's
when calling this predicate, I want to pass the Period
enum, but inside the predicate is have to convert it to Int
to make it work.
Is there a quick way to convert it ?
You can use the map()
method (of the Sequence
protocol) to map each enumeration to its integer raw value:
func byTypePredicate(periods: [Period]) -> NSPredicate {
let intPeriods = periods.map { $0.rawValue } // [Int]
return NSPredicate(format: "period IN %@", intPeriods)
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With