Iphone 创建块变量
我有一个函数,在该函数中,我将块变量blockIfLoadingImageFromServer添加到数组: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]; } 然后我想得到这个变量,但我不知道
- (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]];