1

プロジェクト内の「View」グループフォルダの下にある登録ビューを呼び出すボタンを次のように作成しようとしています。

- (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 に答える