実現したいこと
検索でのセルへの表示
前提
検索バーの表示、入力までできます
発生している問題・エラーメッセージ
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-04-17/52f93fda-6ed2-4992-bbd1-b4cb2e425cac.jpeg) 検索するとこうなります
該当のソースコード
SwiftUI
12@State var searchText: String = "" 3 4List{…} 5.searchable(text: $searchText, placement: .navigationBarDrawer(displayMode: .always), prompt: "検索").onChange(of: searchText) { newValue in search(text: newValue) 6 } 7 8func search(text: String) { 9 if text.isEmpty { 10 items.nsPredicate = nil 11 } else { 12 let titlePredicate: NSPredicate = NSPredicate(format: "title contains %@", text) 13 let contentPredicate: NSPredicate = NSPredicate(format: "content contains %@", text) 14 items.nsPredicate = NSCompoundPredicate(orPredicateWithSubpredicates: [titlePredicate, contentPredicate]) 15 } 16} 17
試したこと
var filteredItem: [String] {
if searchText.isEmpty {
return list
} else {
return items.text.filter { $0.lowercased().contains(searchText.lowercased()) }
}
}
を用意し
表示の際に
if array !== searchText {Text("no matches")}
if else array == searchText {Text(items.text.colors.filter { $0.contains(text.lowercased())
})}
default {Text(items.text[index])}
としました。
補足情報(FW/ツールのバージョンなど)
Xcode14.1
0 コメント