On Dec 6, 2013, at 8:05 AM, dangerwillrobinsondan...@gmail.com wrote: >>> On 6 Dec 2013, at 11:26 am, Graham Cox <graham....@bigpond.com> wrote: >>> >>> NSBlockOperation* op = [NSBlockOperation >>> blockOperationWithBlock:^ >>> { >>> CGContextClipToRect( ncx, tileRect ); >>> >>> [self drawTile:tileRect inContext:ncx]; >>> }]; >> >> >> A question for blocks experts: >> >> Is the value of <tileRect> here captured when the block is created,or when >> it is run? >> >> If the latter, it’s going to be probably wrong most of the time, so how can >> I make sure it is captured when the block is created? >> > > > It's the latter IIRC > You'll want to capture it outside and prefix it to be block scoped.
No it’s not and no you don’t. int x = 3; void (^block)(void) = ^{ NSLog(@"%d", x); }; x = 5; block(); The result is 3 not 5. -- Seth Willits _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com