我是Swift编程的新手。在查看有关搜索栏的信息时,我看到了以下声明。任何人都可以向我解释这是什么意思,因为我找不到任何相关信息。
func updateSearchResults(for searchController: UISearchController) {
if let searchText = searchController.searchBar.text, !searchText.isEmpty {
filteredNFLTeams = unfilteredNFLTeams?.filter { team in
return team.lowercased().contains(searchText.lowercased())
}
} else {
filteredNFLTeams = unfilteredNFLTeams
}
tableView.reloadData()
}
以下是我的问题:
1searchController.searchBar.text,!searchText.isEmpty1 - 什么是","在这个声明中?
in..return
- 如何使用它?
我为任何困惑道歉,因为我甚至不知道该怎么问。
答案 0 :(得分:0)
Swift if
/ guard
语句可以在运行其代码块之前一次检查多个条件。用逗号分隔条件。在这种情况下,searchController.searchBar.text
必须具有值(将分配给searchText
),并且文本字段不能为空。如果其中任何一个不成立,if
块内的代码将不会运行。但是,这必须与条件
let
语法结合使用
in
是此处使用的闭包语法的一部分。闭包很像函数,但它可以传递并分配给变量等。您可以看到有关闭包语法here