1

私のアプリケーション内には、ユーザーがアクセスできるはずのViewControllerとXibが20個ほどあります。問題は、そのうちの5つほどを調べた後、メモリ不足が原因でアプリケーションがクラッシュすることです。ViewController内に割り当てたすべてのメモリを解放したので、非常に多くのIBOutletsのメモリを保持しているためだと推測できます。

ビューを挿入するために使用するコードと、ビューを削除する方法を次に示します。

-(void)InsertUpperHall{
    [lowerHall.view removeFromSuperview];

    if(self.upperHall == nil)
    {
        UpperHall *upperController = [[UpperHall alloc] initWithNibName: @"UpperHall" bundle:nil];
        self.upperHall = upperController;
        [upperController release];
    }
    [self.view insertSubview: upperHall.view atIndex:0];
}

どんな助けでも大歓迎です

4

1 に答える 1

2

プロパティが保持されているすべてのIBOutletは、viewDidUnloadおよびdeallocでnilに設定する必要があります。

私は強くお勧めします:

于 2010-07-23T16:04:55.670 に答える