1

ブロック変数blockIfLoadingImageFromServerを配列に追加する機能があります。

- (UIImage *)getImageWithblockIfLoadingImageFromServer:(void (^)(UIImage *imageCompleted))blockIfLoadingImageFromServer
{
      [array addObject:blockIfLoadingImageFromServer];
}

次に、この変数を取得したいのですが、方法がわかりません。私は試した:

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

しかし、それはエラーになります (構文が正しくありません)。これどうやってするの?

4

1 に答える 1

3

私は通常typedef、自分の生活を楽にするために:

typedef void (^ImageBlock)(UIImage*);

その後:

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

- (void) doSomethingElse
{
    ImageBlock block = [array lastObject];
    …
}
于 2012-11-01T11:50:57.600 に答える