Swift: UISearchBar: Get text when search button clicked
cocoa-touch, ios, swift, uikit, uisearchbar
Solution
In `viewDidLoad` you must set the delegate of the search bar to be receiving `searchBarSearchButtonClicked` from it:
import UIKit
class SecondViewController: UIViewController, UISearchBarDelegate
{
@IBOutlet var myWebView : UIWebView
@IBOutlet var adressbar: UISearchBar
override func viewDidLoad()
{
super.viewDidLoad()
adressbar.showsScopeBar = true
adressbar.delegate = self
var url = NSURL(string: "http://google.com")
var request = NSURLRequest(URL: url)
myWebView.scalesPageToFit = true
myWebView.loadRequest(request)
}
func searchBarSearchButtonClicked( searchBar: UISearchBar!)
{
var url = NSURL(string: searchBar.text)
var request = NSURLRequest(URL: url)
myWebView.scalesPageToFit = true
myWebView.loadRequest(request)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
}
Problem
I'm playing around with Swift to learn it and right now I'm having trouble getting the text from a `UISearchBar` Right now my code looks like this: ``` import UIKit class SecondViewController: UIViewController { @IBOutlet var myWebView : UIWebView @IBOutlet var adressbar: UISearchBar override func viewDidLoad() { super.viewDidLoad() adressbar.showsScopeBar = true var url = NSURL(string: "http://google.com") var request = NSURLRequest(URL: url) myWebView.scalesPageToFit = true myWebView.loadRequest(request) } func searchBarSearchButtonClicked( searchBar: UISearchBar!) { var url = NSURL(string: adressbar.text) var request = NSURLRequest(URL: url) myWebView.scalesPageToFit = true myWebView.loadRequest(request) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } ```