频道栏目
首页 > 程序开发 > 移动开发 > IOS > 正文
UITextField在iOS 11内存泄漏问题
2018-01-23 10:48:13      个评论    来源:程序鹅  
收藏   我要投稿

在项目优化和检查性能时候,使用了MLeaksFinder,检查界面元素的内存泄漏问题时,发现退出登录界面时候,出现了内存泄露。打印日志如下:

In case that UITextField should not be dealloced, override -willDealloc in UITextField by returning NO.
View-ViewController stack: (
    DLTLoginViewController,
    UIView,
    UIScrollView,
    UIView,
    UITextField
)

上面MLeaksFinder日志,可以发现 UITextField并没释放。接下来就是分析问题存在,步骤如下

考虑强引用问题,将UITextField属性定义为弱引用,发现问题依然存在。 屏蔽密码框,发现问题不存在,然而证明,问题在于密码框 查看密码框与用户框区分,在于secureTextEntry属性,假设是由于该属性引用 注释密码框的secureTextEntry设置,发现问题不存在

解决思路

自定义控件,可行性不大 在UITextField的委托事件,处理secureTextEntry
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    if (textField == self.passField) {
        textField.secureTextEntry = YES;
    } else {
        textField.secureTextEntry = NO;
    }
    return YES;
}
点击复制链接 与好友分享!回本站首页
上一篇:iOS多线程:多线程GCD的详情学习
下一篇:iOS开发:Xcode报错问题
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站