我正在开发iOS 5+应用程序与最新的SDK。EXC_BAD_ACCESS自定义UIView与自定义XIB
我用自定义的XIB创建了一个自定义的UIView(TopMenuView
)。在Interface Builder上,我已将此XIB上的UIView
类更改为TopMenuView
。我没有设置任何File's Owner
。
在TopMenuView.m
我:
- (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;
}
使用Interface Builder我添加了一个UIView
到UIViewController
和改变了这种UIView
类TopMenuView
。
但是,当我运行应用程序,我得到这个日志消息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添加为子视图,但您的主视图在哪里?您没有向文件所有者声明任何视图。您必须将一个视图添加到文件的所有者。 – KDeogharkar