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