我有一个主视图,我使用以下代码添加了一个子视图:
-(IBAction)launchPage:(id) sender
{
ActivityViewController *activityViewController = [[ActivityViewController alloc] initWithNibName:@"ActivityViewController" bundle:nil];
activityViewController.view.frame = CGRectMake(183, 104, 841, 573);
activityViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"activity_bckgrnd.png"]];
[self.view addSubview:activityViewController.view];
}
我在这个xib文件上有按钮,我试图添加按钮事件。但是当我在分配IBAction
后点击按钮时,我在
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
任何人都可以让我知道错误可能是什么。我为该项目启用了ARC。
在我作为子视图添加的视图控制器的.h文件中,我已经声明了
@property(strong,retain) UIButton *billingAddressChkBox;
在.m文件中,IBAction看起来像
- (IBAction)checkboxButton:(id)sender{
if (checkboxSelected == 0){
[billingAddressChkBox setSelected:YES];
checkboxSelected = 1;
} else {
[billingAddressChkBox setSelected:NO];
checkboxSelected = 0;
}
}
我启用了僵尸,我收到以下消息。
message sent to deallocated instance
我可以知道从其地址取消分配的实例吗?
答案 0 :(得分:4)
我不得不初始化
ActivityViewController *activityViewController
头文件中的并从.m文件中访问它。这解决了这个问题。
答案 1 :(得分:0)
由于您使用ARC,因此使用strong
属性选项而不是MRC retain
属性选项。
因此,当您撰写@property(strong,retain) UIButton *billingAddressChkBox;
时,请移除retain
,我相信它应该有效。
希望这有帮助!