AFAIK__block
は、ブロック内で、変数(ブロック外で宣言された)が指すアドレスを変更するときに使用されます。
しかし、変数が指している値を変更しているのにポインタが同じままである場合はどうなるでしょうか? たとえば、ブロック内でNSMutableArray *array
実行しているだけの場合はどうなりますか? [array addObject:object]
この場合、ポインタは変更していませんが、ポインタarray
が指す値を変更しています。それで、私はまだ__block
宣言に使用しなければなりませんNSMutableArray *array
か?