1

我正在尝试创建一个按钮,该按钮将调用项目中“查看”组文件夹下的注册视图,如下所示:

- (void)signUp:(id)sender
{
    Registration *registration = [[Registration alloc]initWithNibName:@"Registration" bundle:nil];
    [self.view addSubview:registration.view];
}

然后在我的注册视图中,我添加了一个按钮,上面写着“返回”以返回到我的上一个/主 viewController.xib

exc_badaccess = code1但是当我单击什么都不做/不执行任何操作的“返回”按钮时,我收到了内存错误。我正在使用 ARC。所以我没有释放或任何东西。

4

1 回答 1

1

我敢打赌,Registration实例在被释放后会被访问。您正在方法的本地范围内创建Registration实例signup,因此在方法退出后将其释放。

如果我的猜测是正确的,您可以通过将Registration实例保存在 ivar 中来解决此问题。尝试如下操作。

@interface ...
...
    @property (nonatomic, strong) Registration * registration;
...
@end

@implementation
...
- (void)signUp:(id)sender
{
    self.registration = [[Registration alloc]initWithNibName:@"Registration" bundle:nil];
    [self.view addSubview:self.registration.view];
}
于 2012-09-26T04:35:55.603 回答