swift闭包的强引用
来源:互联网 发布:旺旺群发软件 编辑:程序博客网 时间:2024/06/08 02:53
import UIKitclass ViewController: UIViewController {// var finishedCallBack: (html: String) -> ()? var finishedCallBack: ((html: String) -> ())? override func viewDidLoad() { super.viewDidLoad() //swift 写法3 //unowned 和OC中的__unsafe_unretained一样 会造成野指针访问 //iOS 4.0 loadData {[unowned self] (html) -> () in print(self.view) } } func method2() { //swift 写法 //使用weak修饰的变量 被系统回收时 会指向 nil //当对象指向nil 时 访问nil 不会造成野指针访问 //和OC中的 __weak 一样 iOS 5.0 loadData {[weak self] (html) -> () in print(self?.view) } } func method1() { //仿OC的解决办法 //使用weak修饰的变量 被系统回收时 会指向 nil weak var weakSelf = self loadData { (html) -> () in print(weakSelf?.view) } } func loadData(finised: (html: String) -> () ) { //记录闭包 finishedCallBack = finised dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in dispatch_async(dispatch_get_main_queue(), { () -> Void in print("完成回调") //在闭包中使用属性或者方法 必须加上self //由于闭包可以从外界传递 如果不加self,调用上下文的就没有办法判断 self.finishedCallBack?(html: "hello world") }) } } deinit { print("VC 88") }}
0 0
- swift闭包的强引用
- 【代码片-1】 swift闭包的强引用
- 15.8 Swift闭包属性引起的循环强引用问题
- 15.9 Swift解决闭包引起的循环强引用问题
- 闭包产生的强引用环
- swift闭包的循环引用
- swift 闭包循环引用的解决办法
- swift 循环强引用
- ARC之解决闭包引起的循环强引用
- Swift闭包循环引用
- Swift自定义数据模型及闭包的循环引用问题
- swift-闭包产生的循环引用以及解决办法
- swift学习--闭包的循环引用解决
- IOS闭包循环引用(Swift)
- Swift 闭包循环引用安全
- swift中防止闭包循环引用
- swift闭包循环引用问题
- Swift 中的闭包循环引用
- UILabel
- Unbalanced calls to begin/end appearance transitions for <BindDoctorSuccessViewController: 0x1682db4
- 读书这件事情
- 优化方法之朗格朗日对偶性
- 三种ViewController跳转的异同
- swift闭包的强引用
- UI工程师-无需编程-免费开发企业APP应用
- iOS个人整理05-应用程序的启动流程--视图控制器ViewController的加载过程--MVC架构
- hdu 2224(双调旅行商问题)
- Linux下Nginx的安装与配置
- 看透欲望的本质
- Access Hbase
- iOS 列表页跳转到详细页 详细页隐藏TabBar
- 【iOS】倒计时5分钟