我想编写一个类似于这样的方法:
+(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion;
基本上,我已经从Apple的UIView
类方法中剥离了语法:
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
同时期望它像这样被使用:
[myFoo myMethodWithView:self.view completion:^(BOOL finished){
NSLog(@"call back success");
}];
我的问题是如何实现这个功能?如果有人能够指导我正确的文档,那就太好了,最好提供一个非常基本的示例(或类似的Stack Overflow答案——我找不到)。 我仍然不太了解委托是否是正确的方法!
我已经在实现文件中放了一个大概的示例,但由于找不到信息,它只是猜测。
+ (void)myMethod:(UIView *)exampleView completion:(void (^)(BOOL finished))completion {
// do stuff
if (completion) {
// what sort of syntax goes here? If I've constructed this correctly!
}
}