私はこのタイプの要素を使ってしばらくの間、テーブルビューの各セルに多数のデータを設定しています。誰でもこのデータ型と呼ばれるものを教えてもらえますか? Items = [(category:String, items: [String], price: [Float])]()
(Swift)と呼ばれるこのタイプは何ですか?
この要素の内容をアンラッピングしてフィルタリングする際にいくつかの問題が発生しています。 [("Beef", ["Steak", "Deep fried beef"], [5.98999977, 4.98999977]), ("Chicken", ["Roast chicken"], [4.98999977])]
Items
の配列にアクセスできないという問題があります。
私は簡単にこのコマンドを使用して、カテゴリに基づいてテーブルビューのコンテンツをフィルタリングすることができます
func filteredContentForSearchText(_ searchText: String, scope: String = "ALL") {
Items2 = Items.filter { (element:(category: String, items: [String], price: [Float])) -> Bool in
return element.category.lowercased().contains(searchText.lowercased())
}
tableView.reloadData()
}
をしかし、私は以下のようなコンテンツをフィルタリングしたい場合、私はこのエラーValue of type '[String]' has no member 'lowercased'
を得る:
func filteredContentForSearchText(_ searchText: String, scope: String = "ALL") {
items = items2.filter { (element:(category: String, items: [String], price: [Float])) -> Bool in
return element.items.lowercased().contains(searchText.lowercased())
}
tableView.reloadData()
}
items
の配列の文字列をアンラップするにはどうすればよいですか?前もって感謝します。
'[String]'は 'String'オブジェクトの配列を意味します。だからあなたは 'lowercased()'を実行することはできません。それらのそれぞれの上に、はい、しかしそれの配列にではありません。 – Larme