美文网首页
iOS开发 App在 release模式下懒加载不显示问题

iOS开发 App在 release模式下懒加载不显示问题

作者: 合欢猪 | 来源:发表于2018-07-18 15:44 被阅读294次

    问题

    release模式下打包app,发现app 中凡是使用懒加载的地方UIKit控件都不显示,但debug模式下正常

    采用的懒加载声明方式:@property(nonatomic,weak) xxx

    注意此处用的是weak方式懒加载,strong下不会出现比问题

    原因

    懒加载一般都是strong修饰,用strong修饰的话就不存在这个问题了,本文可直接跳过。

    但也有小伙伴喜欢用weak修饰,这就需要在使用时注意了,也是本文写作的重点:如果是weak修饰,在创建对象的时候一定不要直接赋值,而应该先创建一个强引用对象,再将强引用对象赋值给weak,因为如果直接赋值,Realease模式下会立即释放,但Debug模式下因为延时释放,所以就出现了在Debug模式下UIKit控件存在,Release模式下控件不显示问题,因为Release模式下控件已经被释放了,下面这种写法是错误的:

    错误写法

    解决方案

    创建一个强引用对象,再将该对象赋值给weak

    创建一个强引用对象 将强引用对象赋值给weak

    总结

    开发过程中一般都是用Debug环境,因为它能输出很多测试信息,便于程序员调试,但正是上线的版本一般都是Release,因为它对App做了多方优化,也正是因为这样,在进行测试的时候一定要用Release版本,不仅因为这是将来用户直接接触的版本,而且可能会有意想不到的Bug发生。

    相关文章

      网友评论

          本文标题:iOS开发 App在 release模式下懒加载不显示问题

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