464637258 2016-02-16 08:37 采纳率: 57.1%
浏览 1913
已采纳

IOS新手,自定义UIView问题,EXC_BAD_ACCESS code=2

自定义一个View:名为InputWidgetsView.思路是使用XIB来做界面,用XIB关联对应类,然后在StoryBoard中直接拖使用这个类。(我是安卓转来的,我想法就类似于安卓XML里面的com.XXX.XXX.InputWidgetsView 这样的直接写进去一个自定义类)
类中目前只有一行代码。这样的

 @implementation InputWidgetsView
- (void) awakeFromNib{
    [[NSBundle mainBundle] loadNibNamed:@"InputWidgetsView" owner:self options:nil];
}
@end

也就是在类里面来展开一下xib。但是在执行loadNibNamed的时候,程序会卡住几秒,然后报出错误:
Thread 1:EXC_BAD_ACCESS(code=2,address=0x7ffff5ca28ff8)
是运行时候突然在这一行出现一个断点。然后就不往下执行了,也不会报出cresh
我查了关于野指针问题。这里应该不会吧?根本没有任何指针的啊。而且不是有ARC的吗?

  • 写回答

2条回答

  • 464637258 2016-02-17 01:47
    关注

    好吧,最后自己找到问题了。调试时候在这一行上面加了一行NSLog,结果是NSLog无限输出。然后发现问题是在XIB里面,我把类关联了Class,这样在加载XIB时候将会调用aweakFromNib。而我在这里面又加载Nib。形成无限递归了。
    修改方法:取消XIB文件里面的CustomClass关联,这样在StoryBoard里面直接用这个类的时候,就不会循环递归,而是正常吧XIB加载进去了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法