swift - block

//定義block
typealias RotateFinish = (myVertical:NSString) -> Void

class RootViewController: UIViewController {

//命名字段
var rotateFinishBlock = RotateFinish?()


//傳遞函數
func setRotateFinish(RF:RotateFinish){
    rotateFinishBlock = RF;

}



override func viewDidLoad() {
    super.viewDidLoad()

    // typedef void(^GetVideoDataFinish)(NSString *url);

    if ((rotateFinishBlock) != nil){

        //最後回調
        rotateFinishBlock!(myVertical: "fsaf")
    }


    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

}

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.

    var rvc = RootViewController()
    rvc .setRotateFinish { (myVertical) -> Void in
        //做點啥吧

    }

    return true
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章