Iphone 创建块变量

Iphone 创建块变量,iphone,objective-c,ios,nsarray,objective-c-blocks,Iphone,Objective C,Ios,Nsarray,Objective C Blocks,我有一个函数,在该函数中,我将块变量blockIfLoadingImageFromServer添加到数组: - (UIImage *)getImageWithblockIfLoadingImageFromServer:(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer { [array addObject:blockIfLoadingImageFromServer]; } 然后我想得到这个变量,但我不知道

我有一个函数,在该函数中,我将块变量blockIfLoadingImageFromServer添加到数组:

- (UIImage *)getImageWithblockIfLoadingImageFromServer:(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer
{
      [array addObject:blockIfLoadingImageFromServer];
}
然后我想得到这个变量,但我不知道如何得到。我试过:

(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer = [array objectAtIndex:0];
void (^)(UIImage *imageCompleted) *blockIfLoadingImageFromServer = [array objectAtIndex:0];

但这会产生一个错误(糟糕的语法)。我怎样才能做到这一点?

我通常
typedef
让我的生活更轻松:

typedef void (^ImageBlock)(UIImage*);
然后:

- (void) doSomethingWithBlock: (ImageBlock) block
{
    [array addObject:[block copy]];
}

- (void) doSomethingElse
{
    ImageBlock block = [array lastObject];
    …
}

另外[array addObject:[BlockiLoadingImageFromServer copy]];