On Aug 15, 2013, at 5:41 AM, Vlad Alekseev <ippo...@me.com> wrote:

> dispatch_block_t block = ^{
>    printf("finished");
> };
> 
> UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout 
> *)self.collectionView.collectionViewLayout;
> [self.collectionView performBatchUpdates:^{
>    layout.minimumInteritemSpacing = 20;
> } completion:^(BOOL finished) {
>    block();
> }];

As I said before, this is a bug in your code. ‘block’ needs to be copied since 
it is going to be called after the calling function returns.

Yes, the collection view copies the completion block you pass it. But that 
block is not ‘block’, it’s the inline block literal that calls ‘block’. That 
gets copied, but when that is called it still tries to call the uncopied 
‘block’, which fails.

—Jens
_______________________________________________

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

Reply via email to