swift 闭包回调

最近研究iOS8.0新出的控件UIAlertController也就是代替UIAlertView和UIActionSheet。我发现在UIAlertAction按钮事件中有闭包回调,我自定义了一个UIAlertView控件,也想试着用闭包回调,个人觉得代理有些麻烦哈,正好闭包回调还没研究过,就当试试吧!

网上稍稍看看,大致弄明白是怎么回事。

1.首先,创建闭包类型

// 创建闭包类型
typealias Account = (phone: String?, password: String?) -> Void
2.定义闭包函数变量

private var account: Account?
3.声明含有闭包变量的函数

internal func setTitleAndGetAccount(title: String, account: Account) {
    navigationItem.title = title
    self.account = account
}
4.触发闭包函数

if let nameAndPassword = account {
    nameAndPassword(phone: phone, password: password)
}
5.闭包回调
minorVC.setTitleAndGetAccount("登录界面") { (phone, password) in
    print("phone:\(phone) password:\(password)")
}
总结:大致情况就是这样的,如果我有写的不对的地方还希望各位大神多多指点,谢谢。

github项目地址:https://github.com/duanyicanyuan/Closure

你可能感兴趣的:(swift 闭包回调)