【发布时间】:2013-06-20 07:52:03
【问题描述】:
每个人。我在视图中添加了一个按钮并将其设置为在特定条件下隐藏。虽然它仅在我第一次在 iOS5 中加载整个项目时崩溃。第一次之后,它运行良好。除了 Thread1,Xcode 没有给我更多信息……我想知道是否有人可以提供帮助。谢谢转发。
这是一些代码。
testView.h
@property (nonatomic, retain) UIButton *testBtn;
testView.m
@synthesize testBtn;
-(id)init
{
self = [super init];
if (self) {
testBtn = [UIButton buttonWithType:UIButtonTypeCustom];
}
return self;
}
- (void)layoutSubviews{
testBtn.frame = CGRectMake(110, 100, 100, 24);
[testBtn setHidden:YES];
[self addSubview: testBtn];
}
testViewController.m
-(void)requestForSth{
[testView.testBtn setHidden:NO]; //Thread1: EXC_BAD_ACCESS(code=1,address=0x809a3345)
}
【问题讨论】:
-
@PraveenS 只是一个普通的 UIView。
-
我的猜测是您的 testView 在您尝试访问其属性时未分配。在调用“requestForSth”之前确保你的 testView 是一个有效的对象
-
你不应该在
-layoutSubviews中添加子视图。 -
@Maggie 我确实在 testViewController 的 ViewDidLoad 中分配了 testView。而且我想知道为什么它只是在崩溃时才第一次加载......
-
@Lilac 因为它是一个 layout 方法,因此被频繁调用 - 它并不意味着用于修改视图层次结构。
标签: objective-c ios5 crash uibutton exc-bad-access