Я хотел бы написать метод, подобный следующему:
+(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");
}];
Мой вопрос: как я могу это реализовать?Если кто-то может указать мне на правильную документацию, которая была бы великолепна, и очень ценный пример был бы очень признателен (или подобный ответ по переполнению стека - я не мог найти один).Я до сих пор не знаю достаточно о делегатах, чтобы определить, является ли это даже правильным подходом!
Я привел грубый пример того, что, как я ожидал, будет в файле реализации, но, как только яне могу найти информацию, угадай работу.
+ (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!
}
}