###前提・実現したいこと
プログラム初心者です。
「swiftではじめる iphoneアプリ開発の教科書 【swift 2&xcode 7対応】」という本のChapter5の「住所検索アプリ」をまずは本を見ながら作ってみています。
しかし、Swift2からSwift3に変わってしまった影響でなのか、本に書かれているコードではエラーが出てしまいます。
エラー解消したいです!
そしてSwift学習のため、できれば正しいコードの書き方も解説していただけるとありがたいです。
よろしくお願いします!
###発生している問題・エラーメッセージ
エラーは同じようなものが2つ出ています。
・'NSURLSession' has been renamed to 'URLSession'
・'NSURLResponse' has been renamed to 'URLResponse'
警告も1つ出ています…
・Expression implicitly coerced from 'NSData?' to Any
###該当のソースコード
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var zipTextField: UITextField!
@IBAction func tapReturn() {
}
@IBAction func tapSearch() {
guard let ziptext = zipTextField.text else {
// 値がnilだったら終了
return
}
// リクエストするURLを作る
let urlStr = "http://api.zipaddress.net/?zipcode=\(ziptext)"
if let url = NSURL(string: urlStr){ // urlオブジェクトがnilでなかったら、検索処理オブジェクトを作る let urlSession = NSURLSession.sharedSession() // 「検索処理が完了したら、onGetAddressを呼び出す」というタスクを作る let task = urlSession.dataTaskWithURL(url, completionHandler: self.onGetAddress) // タスクの実行 task.resume() } } //検索処理が完了したら実行する func onGetAddress(data: NSData?,res: NSURLResponse?, error: NSError?){ //確認のためdataを表示する print(data) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }
}
###試したこと
以下のページを参考に自分なりに書き直してみましたが…、うまくいきませんでした…。
・https://blog.areare.net/archives/8321
すみません…
他のページも見てトライしたんですが…どこのページか忘れました…
どうかよろしくお願いします
###補足情報(言語/FW/ツール等のバージョンなど)
Xcode ver : 8.1
USE : Swift3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/13 19:36
2017/06/25 10:06
2017/06/26 02:11