2009-08-06 4 views
10

メソッドの中にNSArrayを作成していますので、私はそれを完了したらリリースでそれをあきらめなければなりません。この配列をオブジェクトを-performSelector:withObject:afterDelay:に渡す前にオブジェクトを保持する必要がありますか

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 

メソッドに渡します。その後、このperformSelector:withObject:afterDelay:を呼び出すメソッドで配列は必要ありません。

ドキュメントはanArgumentが保持されるかどうかを示していないので、私はそれを自動リリースしなければならないのか、それとも生き残るために保持しなければならないのだろうと思います。どう思いますか?

+2

クイックコメント:どのくらいの遅延があるか知っているので、autoreleaseはとにかく助けになりません。実行ループが完了するのに要する時間よりも、ほぼ確実に長くなるでしょう。 –

+1

'-performSelector:withObject:afterDelay:'は、実行ループの次のサイクルで(遅延が0.0秒であっても)実行されることが保証されます。これは、自動解放プールが空になることを意味します。 –

答えて

関連する問題