我有函数,在其中我将块变量 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];
…
}
关于iphone - 创建 block 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176397/