1

autorelease プールは、実行ループの最後に解放されます。

それはループの反復の終わりを意味しますか? これはいつ起こりますか?

すべてのタッチ、モーション、またはリモート コントロール イベントが処理されると、プールは排出されます。

アプリケーションがタッチを提供しない場合はどうなりますか?

このようなコードを使用する場合、 と の間でオブジェクトが解放されていないことをどのように確認でき [self someObject]ますretainsomeMethod?

- (id) someObject
{
    return [[[SomeClass alloc] init] autorelease];
}

- (void) someMethod
{
    SomeClass * object = [[self someObject] retain];
} 
4

1 に答える 1

1

コールスタックの観点から考えてください。

上記の例では、から返された値が保持され、に割り当てられる-someMethod前に終了しません。someObjectobject

于 2011-12-28T06:38:26.727 に答える