EDIT:
Anti-patterns, , , - - "-" . for :
void dontDoThis() {
void (^blockArray[3])(void);
for (int i = 0; i < 3; ++i) {
blockArray[i] = ^{ printf("hello, %d\n", i); };
}
}
blockArray ;
for ; - ( ) ; "- " ( ), ;
, "-" , for, , ;
blockArray;
for, blockArray , , , / , , , a for.
, for, .
, -, :
{
int array[3];
for (int i = 0; i < 3; ++i) {
int a = i;
array[i] = &a;
}
, a for , . , a ( ) ( , , C ) , , .
:
__ , , .
, : __block ( ) . , ( ) ( , ), .
, __block , , ARC, , , , ( ARC, __block).
ARC, ARC __block, , . , _myLayers ivar: _myLayers __block, ( ) .
, ARC, , , layer, , . layer _myLayers, , , _myLayers, , . , , , , , . ( , , ).
, .