为啥我的完成处理程序永远不会被调用?
Posted
技术标签:
【中文标题】为啥我的完成处理程序永远不会被调用?【英文标题】:Why my completion handler is never called?为什么我的完成处理程序永远不会被调用? 【发布时间】:2019-11-21 09:09:38 【问题描述】:我正在尝试调用完成处理程序,但它从未被调用过。 我做错了什么?
我看到第一个 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");
谢谢
【问题讨论】:
也许 myFirstFunction 从未真正调用完成处理程序。很难说没有看到它的实现 @Scriptable 对不起,我忘了在帖子中写 First 函数的实现。我编辑了帖子,现在你可以看到它了。 目前还不清楚,但在myFirstFunction
实现中,您应该在某个时候执行completion();
【参考方案1】:
您的第一个函数不会调用完成。
- (void)myFirstFunction:(BOOL)selected numberOfBrothers:(int)brothers completion:(void (^)(void))completion
NSLog(@"Enter in my First function");
completion();
【讨论】:
谢谢!!有用 !!!我不知道该函数需要调用完成处理程序。我觉得很愚蠢:) ths !!以上是关于为啥我的完成处理程序永远不会被调用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Asp.Net Core Kestrel 服务器向 Ngrok 返回 404 并且控制器永远不会被调用?
为啥 textView:shouldInteractWithTextAttachment:inRange: 永远不会在 UITextView 委托上被调用?
在 delphi XE8 Firemonkey TCheckBox.GetStyleObject 上永远不会被调用,为啥?