クロコめも2。

ただのめもー

Swift2とSwift3の違いメモ

ほんきで学ぶSwift+iOSアプリ開発入門 写経中メモ

この本はSwift2で書かれているのでSwift3の環境だとそのまま動かない。

URLを使って画像を表示する

Swift2

let url = NSURL(string: "http://hogehoge.png")!
let imageData:NSData = NSData(contentsOfURL: url!)!
let image2 = UIImage(data:imageData);

Swift3

let url = URL(string: "http://hogehoge.png")!
let imageData = try? Data(contentsOf: url)
let image2 = UIImage(data:imageData!)

NSURLがURL、NSDataがDataに変わった模様。そしてtry-catch使わないと怒られるようになった模様

CGRectMakeが無くなっている

// CGRectMake関数を用意してSwift2と同じように呼べるようにする
func CGRectMake(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> CGRect {
    return CGRect(x: x, y: y, width: width, height: height)
}
var button = UIButton(frame: CGRectMake(0,0,100,50))

// CGRectを使う。
var button2 = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))

XCPlaygroundが無くなっている

Swift3

import UIKit
import PlaygroundSupport

let datePicker = UIDatePicker()
datePicker.datePickerMode = UIDatePickerMode.date
datePicker.backgroundColor = UIColor.white
PlaygroundPage.current.liveView = datePicker