MLeaksFinder icon indicating copy to clipboard operation
MLeaksFinder copied to clipboard

11.2 以后 使用了textField的地方就报泄漏

Open zb1006801184 opened this issue 6 years ago • 6 comments

11.2 以后 使用了textField的地方就报泄漏 ,这什么情况,有一样情况的嘛

zb1006801184 avatar Feb 28 '18 09:02 zb1006801184

    if #available(iOS 11.2, *)
    {
        let keyPath = "textContentView.provider"
        if self.window != nil {
            let provider = self.value(forKeyPath: keyPath)
            if provider == nil {
                self.setValue(self, forKeyPath: keyPath)
            }
        }else{
            self.setValue(nil, forKeyPath: keyPath)
        }
    }

https://www.jianshu.com/p/5add8d20f8a1?from=timeline&isappinstalled=0 可以解决.

billding211 avatar Mar 05 '18 07:03 billding211

这样虽然能解决,但是,给业务代码带来了风险,得不偿失。

xlsd avatar Mar 21 '18 07:03 xlsd

push过去有三个文本框后,如果不点击文本框,,会释放3次。一切ok 然后如果点击后,就算不编辑内容,返回的时候就会报泄露了。。 登录跳转注册,然后返回时就出现了。

liuchunlao avatar Apr 12 '18 03:04 liuchunlao

再次push时,又会提示大家都释放了。

liuchunlao avatar Apr 12 '18 03:04 liuchunlao

现在有更好的解决方案吗?这个也看过了issues,最后一个回复里,可以看到有一个比较好的方案,但是要引入两个库,感觉有点重

AgoniNemo avatar May 03 '18 06:05 AgoniNemo

其实控制器还是会被dealloc,通过Debug Memory Graph查看该控制器是释放的, 但是alert 会弹出,提示retain cycle

miniLV avatar Jun 11 '18 09:06 miniLV