我在搜索时遇到问题...我试图学习如何像在数据库中那样进行搜索,我的意思是-我们有包含一些值和变量的字典,而在sqlite中,我们可以像搜索文本一样按每个变量进行搜索。我的意思是,如果我们搜索带有诸如XXY之类的描述的XX,则可以通过键入Y来找到它。 现在我有这样的东西:
func searchFor(text: String) {
if text == "" || text.count == 0 {
loadPricesFromDb()
}
else {
let realm = try! Realm()
self.items = []
let prices = realm.objects(Price.self)
let results = prices.filter({
($0.nameAs?.lowercased().contains(text.lowercased()))! ||
($0.group?.lowercased().contains(text.lowercased()))! ||
($0.brIndex?.lowercased().contains(text.lowercased()))! ||
($0.notes?.lowercased().contains(text.lowercased()))! ||
($0.index?.lowercased().contains(text.lowercased()))! ||
($0.searchFor?.lowercased().contains(text.lowercased()))! ||
String($0.regularFilanPrice).lowercased().contains(text.lowercased()) ||
String($0.regularFinalPricePln).lowercased().contains(text.lowercased()) ||
String($0.ceramWeight).lowercased().contains(text.lowercased()) ||
//newest
String($0.nridasn).lowercased().contains(text.lowercased()) ||
//to here
($0.viewPt?.lowercased().contains(text.lowercased()))! ||
($0.viewPd?.lowercased().contains(text.lowercased()))! ||
($0.viewRh?.lowercased().contains(text.lowercased()))! ||
})
此搜索有效,但我只需要按一个变量进行搜索(我知道我只是在使用逻辑OR(||)而我不知道我需要使用什么:/有人可以帮我这个忙吗? ???
编辑: 我想用领域数据库制作搜索栏,我需要做这样的事情: 一些带有记录的数据库;一些记录[“ like = 1551; notlike = 111; someone = 5551; description = some descc”],我想输入类似“ 1 so”的内容,我需要找到这个特定的单元格。我只需要查询“ like + notlike + someone + description”即可从这些变量中查找字符串