最新のSDKを使用してiOS 5+アプリを開発しています。EXC_BAD_ACCESS(カスタムXIBでのカスタムUIView)
カスタムXIBを使用してカスタムUIView(TopMenuView
)を作成しました。 Interface Builderでは、このXIBでUIView
クラスをTopMenuView
に変更しました。私はFile's Owner
を設定していません。
TopMenuView.m
オン
:
にInterface Builderを使用して- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self)
{
NSLog(@"init with coder: %d", counter);
counter++;
// Add custom XIB
NSArray *topMenuView = [[NSBundle mainBundle] loadNibNamed:@"TopMenuView"
owner:nil
options:nil];
UIView *nv = [topMenuView objectAtIndex:0];
[self addSubview:nv];
}
return self;
}
私はUIViewController
にUIView
を追加し、TopMenuView
にこのUIView
クラスを変更しました。
しかし、私はアプリを実行したとき、私は、このログメッセージ4251回取得: 2013-10-13 20:49:34.078 MyProject[470:c07] init with coder: 0
をそして、私はここにEXC_BAD_ACCESS
を得る:
NSArray *topMenuView = [[NSBundle mainBundle] loadNibNamed:@"TopMenuView"
owner:nil
options:nil];
あなたはサブビューとしてnvを追加していますが、メインビューはどこですか?ファイルの所有者に対してビューを宣言していません。 1つのビューをファイルの所有者に付ける必要があります。 – KDeogharkar