做一个课堂练习,单个view的登陆窗口,一直很顺利,突然编译运行出错,所有的空间不显示。查了很久,又问了培训的老师才搞定,特此记录解决办法。
Unknown class <XXX> in InterfaceBuilder file.
现象:
link报错, Unknown class <XXClass> in Interface Builder file., 而XXClass确实存在而且没有任何问题
参见: http://stackoverflow.com/questions/1725881/unknown-class-myclass-in-interface-builder-file-error-at-runtime
原因: 因为XXClass只在nib文件中被引用, 其它地方没有被引用到, 因此被link优化掉, 运行时nib文件试图加载XXClass时, 产生运行时错误
解决方案:
A. link flag中指定 -all_load –ObjC
B. 在某处引用XXClass一次, 例如 [XXClassclass]
C. 在project中删除XXClass的文件, 并重新add进去
第三种办法亲测可行。