0

私は、Objective C が保持することを理解していますlocalVariable

id localVariable = instanceVariable;

dispatch_async(queue, ^{
    // localVariable is used by value, localVariable is retained (not self)
    doSomethingWithObject(localVariable);
});

しかし、この保持はブロックがトリガーされたときに発生しますか? もしそうなら、これは自動解放プールによって制御される可能性localVariableのあるUIオブジェクトですが、自動解放プールによって管理されるものを作成し、それを保持または使用しない場合、1つのイベントループが終了すると、割り当てが解除され、ブロック内で解放されます、もう使えないの?ブロックの外で手動で保持する必要がありますか? UIViewControllerUIViewControllerUIViewController

4

1 に答える 1

1

いいえ、localVariableブロックの作成時にブロックによって保持されます。

于 2012-06-27T08:57:57.287 に答える