我如何使我的排序功能工作以在 tableview 中实际显示排序的书籍
how do I make my sort function working to actually display the sorted books in the tableview
您好,我尝试使用 CocoaPods 下拉菜单创建一个排序按钮,代码没有显示任何错误并且菜单有效,但是如果我点击该按钮,则没有任何反应。
dropDown.selectionAction = { [weak self] (index: Int, item: String) in //8
guard let _ = self else { return }
sender.setTitle(item, for: .normal) //9
let realm = try! Realm()
var books = realm.objects(Book.self).sorted(byKeyPath: "title", ascending: false)
if item == "sort by author" {
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
}
}
错误可能在这里:
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
您定义了一个函数,但从未调用它。
您可以:
- 调用函数
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
filterResultsbyauthor(searchString: "Your search string") /// here!
- 去掉函数声明,只做一段代码
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", "Your search string")
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
您好,我尝试使用 CocoaPods 下拉菜单创建一个排序按钮,代码没有显示任何错误并且菜单有效,但是如果我点击该按钮,则没有任何反应。
dropDown.selectionAction = { [weak self] (index: Int, item: String) in //8
guard let _ = self else { return }
sender.setTitle(item, for: .normal) //9
let realm = try! Realm()
var books = realm.objects(Book.self).sorted(byKeyPath: "title", ascending: false)
if item == "sort by author" {
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
}
}
错误可能在这里:
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
您定义了一个函数,但从未调用它。
您可以:
- 调用函数
func filterResultsbyauthor(searchString: String){
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", searchString)
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()
}
filterResultsbyauthor(searchString: "Your search string") /// here!
- 去掉函数声明,只做一段代码
let predicate = NSPredicate(format: "author BEGINSWITH [c]%@", "Your search string")
books = realm.objects(Book.self).filter(predicate).sorted(byKeyPath:"author", ascending: true)
self?.tableview.reloadData()