美文网首页Swift开发
Swift3.0 循环引用

Swift3.0 循环引用

作者: Stormstout | 来源:发表于2016-08-04 01:16 被阅读151次
37D10644-6B3C-408D-9EFB-4B2051E12DAE.png

//创建一个导航栏控制器,控制器跳转跳转的controller内容如下---以下代码内容为循环引用

    //创建一个属性
    var completionCallBack:(()->())?
    
    override func viewDidLoad()
    {
        super.viewDidLoad()
        
        //在block中如果出现self. 需要注意
        //循环引用,单方向是不会产生引用的
        //只是闭包对slef执行了copy,闭包执行完成后会自动销毁,同时释放对self的引用
        //如果要循环应用,在闭包的同时用self引用
        LoadData { 
            print(self.view)
        }
    }
    
    func LoadData(completion:() ->()) -> ()
    {
        //使用属性记录闭包 -> self对闭包引用了
        completionCallBack = completion        //如果不写此句则不会实现循环引用
        
        //异步
        DispatchQueue.global().async {
            
            print("耗时操作")
            
            DispatchQueue.main.async{
                
                //回调 执行闭包
                completion()
            }
        }
    }
    
    //类似OC的dealloc
    deinit {
        print("走了")
    }

相关文章

  • Swift3.0 循环引用

    //创建一个导航栏控制器,控制器跳转跳转的controller内容如下---以下代码内容为循环引用

  • Swift3.0 解除循环引用

    此文章延续上一篇(循环引用)进行说明的,有想了解的骚年请点击 http://www.jianshu.com/p/...

  • 4-8 循环引用

    3种循环引用 自循环引用 相互循环引用 多循环引用 Block的循环引用 NSTimer 的循环引用 破除循环引用...

  • 循环引用的相关问题

    1、循环引用的种类(1)自循环引用(2)相互循环引用(3)多循环引用 如何破除循环引用?(1)避免产生循环引用(2...

  • swift-逻辑控制

    for循环结构 for i in -99...99{ i*i} 注:基于c的for循环结构在swift3.0已...

  • Swift3.x - 循环

    Swift3.0中循环的介绍: 循环在开发中是必不可少的,经常会使用到循环 常见的循环有for循环、while循环...

  • iOS 内存管理面试题(循环引用)

    循环引用 循环引用的实质:多个对象相互之间有强引用,不能释放让系统回收。 如何解决循环引用? 1、避免产生循环引用...

  • 内存管理-循环引用

    三种类型循环引用 自循环引用 相互循环引用 多循环引用 自循环引用 假如有一个对象,内部强持有它的成员变量obj,...

  • iOS 循环引用

    1. 循环应用的分类: 自循环引用; 相互循环引用; 多循环引用; 自循环引用: 一个对象中有一个成员变量A; 如...

  • iOS开发 循环引用的几种场景

    delegate 循环引用如果delegate使用strong修饰容易引起循环引用 block 循环引用block...

网友评论

    本文标题:Swift3.0 循环引用

    本文链接:https://www.haomeiwen.com/subject/vrrcsttx.html