Connection 1 HTTP communication using NSURLConnection (asynchronous)

By the request destination from iOS9 must be disabled, deal with ATS Swift 3.0 // // ViewController.swift // Connection001 // // Created by Misato Morino on 2016/08/15. // Copyright © 2016年 Misato Morino. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.lightGray // 表示用のTextViewを用意. //let myTextView = UITextView(frame: CGRectMake(10, 50, self.view.frame.width - 20, 500)) let myTextView = UITextView(frame: CGRect(x: 10, y: 50, width: self.view.frame.width - 20, height: 500)) myTextView.backgroundColor = UIColor(red: 0.9, green: 0.9, blue: 1, alpha: 1.0) myTextView.layer.masksToBounds = true myTextView.layer.cornerRadius = 20.0 myTextView.layer.borderWidth = 1 myTextView.layer.borderColor = UIColor.black.cgColor myTextView.font = UIFont.systemFont(ofSize: CGFloat(20)) myTextView.textColor = UIColor.black myTextView.textAlignment = NSTextAlignment.left myTextView.dataDetectorTypes = UIDataDetectorTypes.all myTextView.layer.shadowOpacity = 0.5 myTextView.layer.masksToBounds = false myTextView.isEditable = false self.view.addSubview(myTextView) // 通信先のURLを生成. let url: NSURL = NSURL(string:"http://xxx/hello.php")! // リクエストを生成. let request: NSURLRequest = NSURLRequest(url: url as URL) // 送信処理を始める. NSURLConnection.sendAsynchronousRequest(request as URLRequest, queue: OperationQueue.main) { (response, data, erroe) in // 受け取ったデータのnil判定. if let _data = data { // 帰ってきたデータを文字列に変換. let getData: NSString = NSString(data: _data, encoding: String.Encoding.utf8.rawValue)! // TextViewにセット. myTextView.text = getData as String } } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } Swift 2.3 // // ViewController.swift // Connection001 // // Created by Misato Morino on 2016/08/15. // Copyright © 2016年 Misato Morino. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.lightGrayColor() // 表示用のTextViewを用意. let myTextView = UITextView(frame: CGRectMake(10, 50, self.view.frame.width - 20, 500)) myTextView.backgroundColor = UIColor(red: 0.9, green: 0.9, blue: 1, alpha: 1.0) myTextView.layer.masksToBounds = true myTextView.layer.cornerRadius = 20.0 myTextView.layer.borderWidth = 1 myTextView.layer.borderColor = UIColor.blackColor().CGColor myTextView.font = UIFont.systemFontOfSize(CGFloat(20)) myTextView.textColor = UIColor.blackColor() myTextView.textAlignment = NSTextAlignment.Left myTextView.dataDetectorTypes = UIDataDetectorTypes.All myTextView.layer.shadowOpacity = 0.5 myTextView.layer.masksToBounds = false myTextView.editable = false self.view.addSubview(myTextView) // 通信先のURLを生成. let url: NSURL = NSURL(string:"http://xxx/hello.php")! // リクエストを生成. let request: NSURLRequest = NSURLRequest(URL: url) // 送信処理を始める. NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, erroe) in // 受け取ったデータのnil判定. if let _data = data { // 帰ってきたデータを文字列に変換. let getData: NSString = NSString(data: _data, encoding: NSUTF8StringEncoding)! // TextViewにセット. myTextView.text = getData as String } } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 2.xと3.xの差分 NSOperationQueue.mainQueue()からOperationQueue.mainに変更 NSUTF8StringEncodingからString.Encoding.utf8.rawValueに変更 UITextViewのinit(frame: )ではCGRectMakeが使用不可

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.