续上篇deinit 文章

http://www.jianshu.com/p/e9a5fe9e2238
上篇 知道delegate 置空 才会执行deinit (也可以调整代理 然后定义代理的时候weak), 后来我发现我写的很多代码中 置空也没有效果, 后来发现是调用了self 传给了 里面的view (这个是看别人的文章学来的)

~

     otherView = VideoNewPageOtherView(frame:frame_2 , parentVC: self, videoId: self.videoId)
    otherView.delegate = self
    self.view.addSubview(otherView)

~
然后悲剧了 没法释放了 我就想那用weak 呢 oc 不是有吗 所以尝试了下.

~

    weak var weakSelf = self
     otherView = VideoNewPageOtherView(frame:frame_2 , parentVC: weakSelf!, videoId: self.videoId)
    otherView.delegate = self
    self.view.addSubview(otherView)

~
这个造型 发现 还是不会去执行deinit , 为什么呢? 理论上不持有了啊 , 我又到VideoNewPageOtherView发现里面还持有了self
~

self.parentVC = parentVC
~

所以我在定义的时候在加一个weak

weak var parentVC:UIViewController!

然后所有的这样传入的 都weak 弱引用 发现OK了 deinit 执行了,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,941评论 1 10
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,328评论 1 6
  • 王先生和张女士结婚有十多年了,二人是属于自由恋爱的。 王先生年轻时没有正式职业,家里比较贫穷,但是他能说会道,所以...
    沈姐说说阅读 403评论 10 8
  • 我被一阵嗤啦声吸引了。 这是一间空屋子,四门大开。窗纱与玻璃之间,困着一只蜻蜓。 或许是好奇,想看看屋子里什么样。...
    深蓝之澜阅读 396评论 2 5
  • 伫崖头俯瞰尽闾阎, 城阙抱悠闲。 送目东原上, 小村似子, 大树如烟。 莫道人生苦短, 恍惚一清禅。 逸叟山居卧,...
    赵建铜阅读 447评论 1 6