このJSONで一致するキーワードを検索しようとしています。たとえば、タイトル、番号、またはユーザーの配列のいずれかにsamを含むオブジェクトが必要です。私のコードでスワップでJSONを検索
[
{
"title":"List of students",
"number": "12 stu",
"users":[{
"id": 12,
"name":"tom"
},
{
"id": 1,
"name":"sam"
}]
},
{
"title":"List of tutors",
"number": "2 tut",
"users":[{
"id": 1,
"name":"John"
},
{
"id": 1,
"name":"Sam"
}]
}
]
、私は唯一のタイトルと番号を検索することができますが、各ユーザーを検索傾けます。
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
arrResf = arrRes.filter({ (item) -> Bool in
let heading: NSString = ((item["title"]! as? String)! + (item["number"]! as! String)) as NSString
return (heading.range(of: searchText, options: NSString.CompareOptions.caseInsensitive).location) != NSNotFound
})
self.tableView.reloadData()
}
ユーザーを含めるように検索を拡張するにはどうすればよいですか。
ありがとうございました。
このコードはかなり非効率的です。たとえば、タイトルが一致する場合は、番号を確認したり、ユーザーをスキャンしたりする必要はありません。検索の場合、データの量によってはこの非効率性が顕著になることがあります。 – rmaddy