Swift: 为浏览器创建搜索栏
Swift: create a search bar for a browser
使用 swift 创建网络浏览器并出现错误(源文件中的编辑器占位符),如果用户添加 http 或仅添加 www 或仅添加单词以开始搜索,搜索栏应该能够获取在 google.com.
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
let urlString = mySearchBar.text
if urlString?.starts(with: "http://") ?? <#default value#> || ((urlString?.starts(with: "https://")) != nil){
loadUrl(urlString!)
} else if (urlString?.contains("www"))!{
loadUrl("http://\(urlString!)")
}else {
searchTextOnGoogle(urlString!)
}
}
func loadUrl(_ urlString: String) {
guard let url = URL(string: urlString) else { return }
let urlRequest = URLRequest(url: url)
myWebView.loadRequest(urlRequest)
}
func searchTextOnGoogle(_ text: String) {
let textComponents = text.components(separatedBy: " ")
let searchString = textComponents.joined(separator: "+")
guard let url = URL(string: "https://www.google.com/search?q=" + searchString) else { return }
let urlRequest = URLRequest(url: url)
myWebView.loadRequest(urlRequest)
}
如错误所述,您错过了代码中的占位符。<#default value#>
下面的代码我用空字符串删除了 <#default value#>
。
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
let urlString = mySearchBar.text
if urlString?.starts(with: "http://") ?? "" || ((urlString?.starts(with: "https://")) != nil){
loadUrl(urlString!)
} else if (urlString?.contains("www"))!{
loadUrl("http://\(urlString!)")
}else {
searchTextOnGoogle(urlString!)
}
}
使用 swift 创建网络浏览器并出现错误(源文件中的编辑器占位符),如果用户添加 http 或仅添加 www 或仅添加单词以开始搜索,搜索栏应该能够获取在 google.com.
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
let urlString = mySearchBar.text
if urlString?.starts(with: "http://") ?? <#default value#> || ((urlString?.starts(with: "https://")) != nil){
loadUrl(urlString!)
} else if (urlString?.contains("www"))!{
loadUrl("http://\(urlString!)")
}else {
searchTextOnGoogle(urlString!)
}
}
func loadUrl(_ urlString: String) {
guard let url = URL(string: urlString) else { return }
let urlRequest = URLRequest(url: url)
myWebView.loadRequest(urlRequest)
}
func searchTextOnGoogle(_ text: String) {
let textComponents = text.components(separatedBy: " ")
let searchString = textComponents.joined(separator: "+")
guard let url = URL(string: "https://www.google.com/search?q=" + searchString) else { return }
let urlRequest = URLRequest(url: url)
myWebView.loadRequest(urlRequest)
}
如错误所述,您错过了代码中的占位符。<#default value#>
下面的代码我用空字符串删除了 <#default value#>
。
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
let urlString = mySearchBar.text
if urlString?.starts(with: "http://") ?? "" || ((urlString?.starts(with: "https://")) != nil){
loadUrl(urlString!)
} else if (urlString?.contains("www"))!{
loadUrl("http://\(urlString!)")
}else {
searchTextOnGoogle(urlString!)
}
}