美文网首页iOS开发程序员iOS Developer
iOS8下vc不能找到对应xib的问题

iOS8下vc不能找到对应xib的问题

作者: hanl001 | 来源:发表于2017-02-13 23:55 被阅读0次

    起因
    今天测试提了一个bug, 大致内容如下:

    设备: iPhone5s 、系统:iOS8.3
    问题: 点击cell进入某个子页面,直接闪退 
    

    经过

    看到这个bug第一反应: 我不会搞出这么明显的错误吧!
    通过与测试沟通才知道是在特定的设备和系统下才发生的(iPhone5s、iOS8.3),这就尴尬了,第一反应是我调用了iOS8之后的api才会造成crash。

    借来“问题设备”,加一个全局断点希望定位到问题行,奈何我怎么挣扎crash始终停在main函数。无奈,在视图的生命周期方法中依次加断点,结果发现,他丫的还未进入viewdidLoad的断点就已经crash了。

    再次寻寻觅觅,当我给vc添加loadView方法后并打上断点,发现点击cell是会停到loadView中的断点。


    结果
    反复思考,我想到是不是vc没有找到相应的xib导致系统loadView方法执行之后不会进入viewdidLoad。然后我检查xib,如图:

    Snip20170213_14.png

    因此我猜想:在iOS8下,当xib中有多个view文件是,不能识别到哪一个是系统loadview时需要的view。

    当我将init方法换成initWithNibName,果然不再crash了

    2333。。。问题得以解决,看来iOS9后苹果对viewController的init方法进行过一些优化,才能在xib中有多个view时还能找到这个xib

    相关文章

      网友评论

        本文标题:iOS8下vc不能找到对应xib的问题

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