【发布时间】:2021-06-04 15:49:22
【问题描述】:
我有一个 UISearchController,当用户输入文本时,它会搜索对象。但是用户只能搜索一个关键字,我希望他们搜索多个关键字。
型号:
struct DiagnosisDetails: Codable {
let diagnosisCodeId: Int
let diagnosisMappingId: Int
let diagnosisCode: String?
let bodyRegion: String?
let bodyPart: String?
let bodySite: String?
}
搜索代码
func filteredDiagnosis(for queryOrNil: String?) -> [DiagnosisDetails] {
guard let diagnosis = self.diagnosis, let query = queryOrNil, !query.isEmpty else { return [] }
let filteredDiagnosis: [DiagnosisDetails] = diagnosis.filter {
if let bodyPart = $0.bodyPart,
let bodySite = $0.bodySite,
let bodyRegion = $0.bodyRegion,
let diagnosisCode = $0.diagnosisCode {
return (bodyPart.lowercased().contains(query.lowercased()) || bodySite.lowercased().contains(query.lowercased()) || bodyRegion.lowercased().contains(query.lowercased()) || diagnosisCode.lowercased().contains(query.lowercased()))
} else {
return false
}
}
return filteredDiagnosis
}
如何让用户搜索多个关键字?
【问题讨论】:
标签: ios swift search uisearchcontroller