如何将完成块添加到IOS调用

时间:2014-03-17 17:56:30

标签: ios7

我需要等待savePhototoImage完成才能继续进行处理。我假设完成块是实现此目的的方法。

我在IOS代码中看到了一些完成块,但对它们的构成方式并不了解。

是否可以将完成块添加到任何函数中,如果是这样,将一个函数添加到此函数中的正确语法是什么?

BOOL saved = [Network savePhotoImage:img :self.description :@"Photo"];

1 个答案:

答案 0 :(得分:0)

ViewController.m

  [Network savePhotoImage:img  :self.description :@"Photo" withCallback:^(BOOL success)
    {
        NSLog(@"executing callback");
         if (success)
         {
             NSLog(@"got callback success");
         }
         else
         {
            NSLog(@"got callback failure");
         }

     }];

Network.m

+ (void)savePhotoImage:(UIImage*)PhotoImage :(NSString*)description :(NSString*)imageName withCallback:(ASCompletionBlock)callback
{
    add workdone code here...
    if (workdone)
       callback(YES);
    } else {
        callback(NO);
    }
}

Network.h

typedef void (^ASCompletionBlock)(BOOL success);

+ (void)savePhotoImage:(UIImage*)PhotoImage :(NSString*)description : (NSString*)imageName withCallback:(ASCompletionBlock)callback;