程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> ios-IOS新手,自定義UIView問題,EXC_BAD_ACCESS code=2

ios-IOS新手,自定義UIView問題,EXC_BAD_ACCESS code=2

編輯:編程解疑
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的嗎?

最佳回答:


好吧,最後自己找到問題了。調試時候在這一行上面加了一行NSLog,結果是NSLog無限輸出。然後發現問題是在XIB裡面,我把類關聯了Class,這樣在加載XIB時候將會調用aweakFromNib。而我在這裡面又加載Nib。形成無限遞歸了。
修改方法:取消XIB文件裡面的CustomClass關聯,這樣在StoryBoard裡面直接用這個類的時候,就不會循環遞歸,而是正常吧XIB加載進去了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved