我有一个User
模型,该模型从数据库下载所有用户,将它们存储在users
数组中,并在UITableView
中显示它们。在UITableView
上方,我有一个UISearchBar
,允许用户对其进行过滤。
搜索有效,但是用户拥有usernames_lowercase
和displayName
,并且我希望能够为users
和{ {1}},将其存储在usernames_lowercase
数组中,然后重新加载/显示结果。我无法弄清楚该如何做……如果可能的话,甚至可以用单个数组来完成。
displayName
答案 0 :(得分:3)
使用||
( OR )运算符指定多个条件。
searchUsers = users.filter {
$0.username_lowercase!.prefix(searchText.count) == trimmedSearchWord.lowercased()
|| $0.displayName!.prefix(searchText.count) == searchText
}
答案 1 :(得分:0)
创建用户模型的另一个副本,并使用searchText,如下所示:
// self.Copied_User_Model->复制的用户模型
// User_Model->原始用户模型
self.Copied_User_Model = []
for item in self.Copied_User_Model {
if item.user_name.localizedCaseInsensitiveContains(searchText) != false item.display_Name.localizedCaseInsensitiveContains(searchText) != false{
self.Copied_User_Model.append(item)
} else {
}
}
self.tableview.reloadData()
if searchText == "" {
self.Copied_User_Model = self.User_MOdel
self.tableview.reloadData()
}
希望此帮助。 谢谢。