为什么从未调用我的完成处理程序?

时间:2019-11-21 09:09:38

标签: objective-c completionhandler

我正在尝试调用完成处理程序,但从未调用过。 我做错了什么?

我看到第一个NSLog(“输入我的第二个函数”),但是第二个NSlog(“完成处理程序”)从不消失。

这是函数的定义以及带有完成功能的调用者

- (void)myFirstFunction:(BOOL)selected numberOfBrothers:(int)brothers completion:(void (^)(void))completion

- (void)mySecondFunction
{
    NSLog(@"Enter in my Second function");
   [self myFirstFunction:true
        numberOfBrothers:1
        completion:^{
           NSLog(@"COMPLETION HANDLER");
        }];

}

- (void)myFirstFunction:(BOOL)selected numberOfBrothers:(int)brothers completion:(void (^)(void))completion
{
  NSLog(@"Enter in my First function");
}

谢谢

1 个答案:

答案 0 :(得分:1)

您的第一个函数不会调用补全。

- (void)myFirstFunction:(BOOL)selected numberOfBrothers:(int)brothers completion:(void (^)(void))completion
{
     NSLog(@"Enter in my First function");
     completion();
}