现在我正在使用以下内容
let data = ["New York, NY", "Los Angeles, CA" . . .]
var filteredData: [String]!
filteredData = data
但是我想通过使用这个来使用具有几乎相同结构的 Firebase
var data = [Categories]()
(这是类别
)
struct Categories {
let key:String!
let content:String!
let itemRef:FIRDatabaseReference?
init (content:String, key:String = "") {
self.key = key
self.content = content
self.itemRef = nil
}
init (snapshot:FIRDataSnapshot) {
key = snapshot.key
itemRef = snapshot.ref
if let CategoriesContent = snapshot.value!["content"] as? String {
content = CategoriesContent
} khác {
content = ""
}
}
所以当我搜索某些内容时,这些行应该过滤掉所有不正确的内容
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
// Unhide tableview, this will be changed to another method
tableView.hidden = false
filteredData = searchText.isEmpty ? data : data.filter({(dataString: String) -> Bool in
// If dataItem matches the searchText, return true to include it
return dataString.rangeOfString(searchText) != nil
})
tableView.reloadData()
}
但是由于 filter({(dataString: String)
只接受字符串,所以它不起作用
câu hỏi:有没有其他方法可以用我的 Firebase 结构替换字符串?
Cảm ơn bạn rất nhiều!
Tôi là một lập trình viên xuất sắc, rất giỏi!