storyboard挖坑填坑小记

问题前戏

在storyboard 中删除了一个视图,这个试图是通过 IBOutlet连接控制器类,删除时候也同时删除了对应的 属性。

问题描述与分析

问题:编译时候直接奔溃,原因是在使用storyboard 初始化控制器的时候,依然使用了之前删除的 IBOutlet 属性 view2 作为键值,但是这个键值没法识别,(因为我确实是删掉了,之前遇见过了类似的问题,是,是删掉了 .m 文件中对应的属性,但是xib中依然有对象连接着这个属性字段。)于是好好检查,看有没有还没注意到得隐蔽关联,结果发现确实没有,clean 工程,也不行,最后决定祭出大招,删除 DerivedData 文件夹下对应的同名文件,因为这个文件夹里会把xib、storyboard 拷贝进去,编译的时候,可能还是用的旧文件,导致这个问题。信心满满,以为没问题,但是,但是,crash again!! what’s the hell? 想来想去,这个问题,肯定是用了旧storyboard 初始化控制器才出错,既然没在 DerivedData中,那肯定在某处!没错,就在编译运行的真机上!我删掉app,再重新编译进来,一切安好!回头想想,那台iPad 是越狱的iOS6 系统,而且,确实在编译app 的时候,xib 文件会被拷贝到app的包中。那么在原来的app 上再编译,进行覆盖时候,没有完全覆盖替换旧storyboard情况也是有可能的!

解决之道

删掉设备上得app,再次编译上去。

你可能感兴趣的:(storyboard挖坑填坑小记)