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!)
     }
}