Swift 调用中的额外参数“谓词”
Posted
技术标签:
【中文标题】Swift 调用中的额外参数“谓词”【英文标题】:Extra argument 'predicate' in call in Swift 【发布时间】:2020-04-18 17:01:01 【问题描述】:func searchBarSearchButtonClicked(_ searchBar: UISearchBar)
let request: NSFetchRequest<Item> = Item.fetchRequest()
print(searchBar.text!)
let predicate = NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!)
request.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)]
loadItems(with: request, predicate: predicate)
错误是“调用中的额外参数'谓词'”。 如果我删除谓词参数,则不会在项目数组中进行搜索。 这是在表格视图中。 您可以在文件末尾的GitHub 查看完整代码。
【问题讨论】:
【参考方案1】:您必须将谓词分配给请求
func searchBarSearchButtonClicked(_ searchBar: UISearchBar)
let request: NSFetchRequest<Item> = Item.fetchRequest()
print(searchBar.text!)
request.predicate = NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!)
request.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)]
loadItems(with: request)
【讨论】:
这不会引发错误,但正在搜索。 答案是正确的。你必须在loadItems
结尾处打电话给self.tableView.reloadData()
以上是关于Swift 调用中的额外参数“谓词”的主要内容,如果未能解决你的问题,请参考以下文章