我一直在使用這種類型的元素來填充tableview中每個單元格中的一堆數據。任何人都可以告訴我這個數據類型被稱爲什麼? Items = [(category:String, items: [String], price: [Float])]()
這是什麼類型(Swift)? var something = [(item1:String,item2:Float,item3:[String])]()
我也在解包和過濾這個元素裏面的內容時遇到了一些問題。當我打印Items
,它返回是這樣的:[("Beef", ["Steak", "Deep fried beef"], [5.98999977, 4.98999977]), ("Chicken", ["Roast chicken"], [4.98999977])]
的問題是,我不能訪問內部Items
items
陣列。
我可以很容易地過濾的tableview的基礎上用這個命令類別的內容:
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