摘要:本文将带你了解IOS开发入门UITextField在iOS 11内存泄漏问题,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门UITextField在iOS 11内存泄漏问题,希望本文对大家学IOS有所帮助。
在项目优化和检查性能时候,使用了MLeaksFinder,检查界面元素的内存泄漏问题时,发现退出登录界面时候,出现了内存泄露。打印日志如下:
?
1
2
3
4
5
6
7
8
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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号