在表视图中快速全文搜索

问题描述 投票:0回答:2

我已在StackOverflow中签入,未找到我的查询的任何有效解决方案。

struct MyModel{
let title: String
let subTitle: String
let image: UIImage
}

现在,我想搜索标题并将其输出,返回mymodel过滤器数组。假设这是我的标题数组。

[
"Swift CollectionView Xcode 11",
"Swift UITableView Xcode 11",
"Swift UICollectionView Xcode 11",
"Objective C UITableView Xcode 11",
"Objective C CollectionView Xcode 11",
"Objective C UICollectionView Xcode 11",
]

如果我搜索"collectionView",则>>

“” Swift UICollectionView Xcode 11“,” Swift CollectionView Xcode 11“-右

如果我搜索"collectionview Objective C",那么我想要这个搜索结果,它给了我整个带有过滤器的数组

“ Objective C CollectionView Xcode 11”,“ Objective C UICollectionView Xcode 11”,“ Swift CollectionView Xcode 11”,“ Swift CollectionView Xcode 11”,

因为在搜索中它也包含collectionview和target c。首先,如果包含整个字符串,则结果必须先显示我,然后再显示其他。

我尝试这种方式但不起作用

let stringComponent = searchText.components(separatedBy: " ")
_ = searchText.components(separatedBy: " ").map{ (str) in
            arrTemp += arrVideo.filter { (data) -> Bool in
                if data.title.lowercased().contains(str.lowercased()) && !arrTemp.contains(data){
                    return true
                }
                return false
}

也选中了NSPredicate, Sort and filter,但对我不起作用。

请帮助我!谢谢。

我已在StackOverflow中签入找不到我的查询的任何有效解决方案。 struct MyModel {let title:String let subTitle:String let image:UIImage}现在,我想搜索标题并输出...

swift search filter tableview swift5
2个回答
0
投票

从我所看到的问题是,当您将字符串与空字符串“”分开时,会形成关键字的情况发生]]

- collectionview
- Objective
- C

0
投票

检查下面的代码,它将根据最佳搜索结果对数组进行排序。

© www.soinside.com 2019 - 2024. All rights reserved.