我一直在使用这种类型的元素来填充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