
[code]

    value of optional type 'String?' not unwrapped; did you mean to use '!' or '?'?
    
[/code]

というSwiftのOptional型に関してのエラーが生じました。

Optional Value(「?」「!」が付随したコードで、「nil」を許容したコードか「nil」wo  
許容しないコードのいずれかを明示する)にする必要があるのはわかったのですが、具体的に

[code]

    let text = searchBar.text.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
    
[/code]

のコードのどこに対して行えば良いのかがわからないため質問致します。

以下コードなります。

[code]

    import UIKit
    
    class ListViewController: UITableViewController {
    
    @IBOutlet weak var searchBar: UISearchBar!
    
    private var results: [NSDictionary]?
    
    override func viewDidLoad() {
        super.viewDidLoad()
    
        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false
    
        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem()
    }
    
    
    //中略
    
    
    extension ListViewController: UISearchBarDelegate {
    
    // searchBarのSearchボタンをタップしたときの処理
    func searchBarSearchButtonClicked(searchBar: UISearchBar) {
        searchBar.resignFirstResponder() // キーボードを閉じる
    
        // エラーはここから
        let text = searchBar.text.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
        //ここまでです。
        if let text = text {
            AFHTTPSessionManager().GET(
                "https://itunes.apple.com/search?term=\(text)&country=JP&lang=ja_jp&media=music",
                parameters: nil,
                success: { (task: NSURLSessionDataTask!, response: AnyObject!) -> Void in
                    if let data = response as? NSDictionary, results = data["results"] as? [NSDictionary] {
                        self.results = results
                        self.tableView.reloadData() // 再描画
                    }
                },
                failure: nil)
        }
    }
    
[/code]


CC BY-SA 3.0
2015-10-23T09:29:43.810
17984
2015-10-23T09:29:43.810
10491
question
swift
value of optional type 'String?'の対処法に関して