Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 694 - Closures, Extensions, Protocols, Delegation, and ScrollView 5

Extensionを利用する手順。

Developing iOS 9 Apps with Swift - Free Course by Stanford on iTunes U

セグエを切り替える次のコード

override func prepareForSegue(segue: UIStoryboardSegue, 
                              sender: AnyObject?) {
    var destinationvc = segue.destinationViewController
    if let navcon = destinationvc as? UINavigationController {
        destinationvc = navcon.visibleViewController ?? destinationvc
    }
    if let facevc = destinationvc as? FaceViewController {
        if let identifier = segue.identifier {
            if let expression = emotionalFace[identifier] {
                facevc.expression = expression
                if let sendingBUtton = sender as? UIButton {
                    facevc.navigationItem.title = 
                                 sendingBUtton.currentTitle
                }
            }
        }
    }
}

Ewtensionを使ったら

override func prepareForSegue(segue: UIStoryboardSegue, 
                              sender: AnyObject?) {
    if let facevc = 
        segue.destinationViewController.contentViewController as?
                  FaceViewController {
        if let identifier = segue.identifier {
            if let expression = emotionalFace[identifier] {
                facevc.expression = expression
                if let sendingBUtton = sender as? UIButton {
            facevc.navigationItem.title = sendingBUtton.currentTitle
                }
            }
        }
    }
}

すっきりしましたよね。今日はこれだけ。