swift 闭包回调

  • 1.跳转到需要回调的页面
 let test =   ViewController()   //跳转的页面

      test.FuncCallbackValue { (value) -> Void in

            print(value)

       } //闭包回调函数

self.navigationController?.pushViewController(test, animated: true) //跳转
 
  • 2.跳转的页面
import UIKit
class ViewController: UIViewController {
typealias CallbackValue=(value:String)->Void //类似于OC中的typedef
var myCallbackValue:CallbackValue?  //声明一个闭包
func  FuncCallbackValue(value:CallbackValue?){
myCallbackValue = value //返回值
}
}override func viewDidLoad() {
super.viewDidLoad()
if (myCallbackValue != nil){
myCallbackValue!(value: "我返回值了")//回调。
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
  • 3 嵌套方法
func  Gettest (str:String,callback: ((isOK: Bool)->Void)?){
let test=str
callback?(isOK:true)
}

使用

 Gettest("test"){ (isOK) in
            print(isOK)
        }
或者
 Gettest("", callback: testcallback)
private func testcallback(isOK: Bool){
    if (isOK) {
        //do good stuff here
    }else{
        // do error handling here
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,115评论 25 709
  • 最近研究iOS8.0新出的控件UIAlertController也就是代替UIAlertView和UIAction...
    断忆残缘阅读 755评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,734评论 18 399
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,410评论 4 61
  • 一个行者问老和尚:“您得道前,做什么呢?” 老和尚合十的笑着答:“砍柴担水做饭”; 行者接着问:“那得道后呢?...
    十年一井阅读 347评论 0 0

友情链接更多精彩内容