2016-01-13 4 views
-3

Поскольку я работаю над новым кодом, я наткнулся на то, что пока не нашел никаких объяснений в сети. Так что, надеюсь, вы можете дать мне один.Что означает (void (^) (поддерживается BOOL))?

У меня есть этот метод подписи в коде Objective-C:

-(void) supportsUrl: (NSString*) url callback:(void (^)(BOOL supported)) callback; 

Может кто-то пожалуйста, скажите мне, что это такое в последнем параметре?

Большое спасибо!

+2

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html – Larme

+1

Смотрите также [Блок список Синтаксис объявления] (http://stackoverflow.com/q/9201514) –

ответ

1

Это блок, который принимает аргумент BOOL и возвращает void. See the documentation for more info on the syntax.

При вызове этого метода вы можете обеспечить обратный вызов через этот блок. Это позволит вам отправить код, который будет выполнен после запуска метода.

Например:

[self supportsUrl:@"http://www.google.com" callback:^(BOOL supported){ 
    if (supported) NSLog(@"Yay, supported"); 
    else NSLog(@"Nay, not supported"); 
}]; 
Смежные вопросы