0
我有一個Device
對象,它有很多Types
。 在我的應用程序中,我需要查詢一些特定類型或一組類型的設備。 所以主要功能使用:如何使用IN sql子句查詢coredata?
func get_ByDeviceType(_ type: Device.deviceType) -> [Device]? {
let deviceFetch: NSFetchRequest<Device> = Device.fetchRequest()
deviceFetch.predicate = NSPredicate(format: "type == \(type.rawValue)")
do {
let device = try context.fetch(deviceFetch)
return device
} catch {
return nil
}
}
現在,當我試圖讓一羣Devices
我嘗試這樣做:
func get_ByDeviceTypes(_ types: [Device.deviceType]) -> [Device]? {
var typesStr = ""
var sep = ""
for type in types {
typesStr += sep + "\(type.rawValue)"
sep = ","
}
let deviceFetch: NSFetchRequest<Device> = Device.fetchRequest()
deviceFetch.predicate = NSPredicate(format: "type in (%@)", typesStr)
do {
let device = try context.fetch(deviceFetch)
return device
} catch {
return nil
}
}
但遺憾的是它沒有工作,
有處理這種情況的具體方式。感謝
感謝它的工作原理,但我將'Device.Type'從'Enum'轉換爲'Int',謝謝 – wajeeh