我需要等待savePhototoImage完成才能继续进行处理。我假设完成块是实现此目的的方法。
我在IOS代码中看到了一些完成块,但对它们的构成方式并不了解。
是否可以将完成块添加到任何函数中,如果是这样,将一个函数添加到此函数中的正确语法是什么?
BOOL saved = [Network savePhotoImage:img :self.description :@"Photo"];
答案 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;