Например, за да извикате authenticateHandler
@property(nonatomic, copy) void(^authenticateHandler)(UIViewController *viewController, NSError *error)
Малката шапка ^(UIViewController *viewController, NSError *error)
показва, че повикването трябва да има анонимен функционален блок:
[lp setAuthenticateHandler:(^( UIViewController* vc, NSError *nsError )
{
if( !nsError )
{
puts( "GC auth success" ) ;
}
})];
Но да кажем, че искам тази функция, която използвам в извикването си към setAuthenticateHandler
, да бъде наименувана функция. На други места съм виждал използване на @selector(functionName)
, но това изглежда не работи тук.
__weak YourClassName* weakSelf = self; [lp setAuthenticateHandler:(^( UIViewController* vc, NSError *nsError ) { if( !nsError ) { [weakSelf gcPlayerLoggedInSuccess];}
Имате нужда от__weak
ptr поради улавянето на себе си силно в този блок вероятно ще доведе до проблем с цикъл на задържане - person bobobobo   schedule 29.03.2013