Reputation: 5038
I have function, where I add block variable blockIfLoadingImageFromServer to array:
- (UIImage *)getImageWithblockIfLoadingImageFromServer:(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer
{
[array addObject:blockIfLoadingImageFromServer];
}
Then I want to get this variable, but I don't know how. I tried:
(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer = [array objectAtIndex:0];
void (^)(UIImage *imageCompleted) *blockIfLoadingImageFromServer = [array objectAtIndex:0];
But that gives an error (bad syntax). How can I do this?
Upvotes: 1
Views: 313
Reputation: 104125
I usually typedef
to make my life easier:
typedef void (^ImageBlock)(UIImage*);
And then:
- (void) doSomethingWithBlock: (ImageBlock) block
{
[array addObject:[block copy]];
}
- (void) doSomethingElse
{
ImageBlock block = [array lastObject];
…
}
Upvotes: 3