Thursday, March 26, 2015

Swiftコード実行遅延





ネット上で探しました、簡単な例を見つけられませんでした。こちらで自分でやってみました。
「Click Pls」をタップすると3秒の後に「Result」ラベルで「clicked」を表示しましょう。そのためにビューコントローラーに次のコードを書きました。







import UIKit

class ViewController: UIViewController {

    @IBOutlet var resultLabel: UILabel!
    @IBAction func clicked(sender: UIButton) {
        func delay(delay:Double, closure:()->()) {
            dispatch_after(
                dispatch_time(
                    DISPATCH_TIME_NOW,
                    Int64(delay * Double(NSEC_PER_SEC))
                ),
                dispatch_get_main_queue(), closure)
        }
        delay(3) {
        self.resultLabel.text = "clicked"
        }
    }

}

結果的に「Click Pls」をタップすると3秒の後に「Result」ラベルで「clicked」が表示されます。

No comments:

Post a Comment