问题标签 [completion-block]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 完成块永远不会被调用?
我们有一个函数,当它完成时,应该在它的完成块中调用另一个函数,但永远不会调用完成块内的任何函数。这是功能:
以下是它的使用方法:
完成块内没有任何东西被调用,知道如何解决这个问题吗?
ios - 删除用户时未调用完成块 - Firebase Swift
我有一个错误,当我删除我的用户信息时,没有调用完成块。我已经看到有关完成块的问题的答案,但是我的问题仍然存在。我能够成功地从我的数据库中删除用户,并且在删除之前我还重新验证了用户。这是我的代码:
正如我所说,用户正在被删除。但是,完成块之后的代码没有被调用。我真的不知道为什么,任何帮助将不胜感激!
PS:这里要清楚的是没有被调用的代码:
objective-c - 嵌套的完成块没有被称为 objc
这是我的嵌套块,请看一下:
问题出在此- (void)initializeDictionary:(NSDictionary *)dictionary completionBlock:(void (^)(YoutubeVideo *))
completionBlock {
}
块中,具有以下块
[self getChannelProfilePictureForChannelID:youtubeVideo.channelID completionBlock:^(NSMutableArray *channelList) {
NSLog(@"[channelList objectAtIndex:0] %@", [channelList objectAtIndex:0]);
youtubeVideo.channelProfileImageURL = [channelList objectAtIndex:0];
}];
当块返回值NSSting
值时,这些代码行没有执行。
它在执行其余代码后被调用:
所以该值没有插入我的对象模型中。请给我一个建议。提前致谢。
祝你有美好的一天。
ios - IOS/Objective-C:从完成块中检索 NSArray
我正在尝试EKReminders
从方法的完成块中检索数组。该方法返回我想要的数组。但是,我找不到在已知时间在主线程上获取它的好方法,以便我知道该块已完成。
要检索EKReminders
,Apple 需要一个完成块方法(与EKEvents
. 相比)所以我的 fetch 代码包含以下内容:
上面的代码成功运行并在完成后将提醒放在 ivar 中。
问题是我不知道块何时完成所以如果我只是尝试访问 self.reminders in viewwillappear 在调用上述方法后,它返回空大概是因为块尚未完成我想要一些方法来设置 ivar当我知道该块已完成以消除竞争条件时。
关于如何从完成块中检索值的一些关于 SO 的答案建议将完成块传递给方法,如下所示:
当我尝试这个时,完成块viewwillappear
永远不会触发,所以出了点问题。
将不胜感激有关如何在已知时间点成功检索完成块中检索到的数组的任何建议。
ios - 没有调用目标 C 完成块
我试图在单元测试中调用完成块,但它永远不会到达。这是代码:
这是方法:
ios - 如何表示 nil Error Swift 完成块
嗨,我有一个快速的 Web 服务工作者对象,它将完成块传递给调用者视图控制器。代码如下:
调用成功时,我在完成块错误参数中传递了什么值。我不能通过 nil,因为 swift 不允许我这样做。有人可以建议一种更好的方法来进行此 API 调用吗?如何发送完成块等
swift - 带有完成块的 Swift 异步
我有两个执行异步的函数。
我试图“同步”它们: DispatchGroup 和 DispatchQueue
Func1 和 Func2 只是调用:
但问题是我不知道如何等待 queue.async 中的完成块 ..
有人有任何想法吗?
objective-c - Objective-C 顺序执行两个完成块
我目前正在使 DJI 产品能够自主执行航点任务,改编自 DJI 教程 ( https://developer.dji.com/mobile-sdk/documentation/ios-tutorials/GSDemo.html )。所以我试图将所有流程整合到一个功能中。这是我必须集成的两个完成块:
和:
为了使第二个成功运行,第一个必须首先完全执行。这似乎不是一个难题,但在尝试添加延迟或调度后我无法弄清楚。
任何帮助表示赞赏。谢谢。
ios - swift 4.2 无法将类型“(_)-> Void”的值转换为预期的参数类型“(()-> Void)?”
==> swift 3 版本完美运行,但 swift 4 和 swift 4.2 正在运行。
xcode 上的错误显示 =>
无法将“(_) -> Void”类型的值转换为预期的参数类型“(() -> Void)?”
objective-c - 在swift文件中调用objective-C属性块,完成块属性为零
属性块变为零我有objective-c viewcontroller类,它在//UAEPassWebViewController.h中有一个属性块
我已经创建了 bridging-header.h 类并尝试在 swift 类中调用代码,如下所示
但是在执行 //UAEPassWebViewController.m 中的代码时,onUAEPassSuccessBlock 属性变为零
这仅在我从 swift 类调用时发生。如果我从objective-c 类调用相同的属性,下面是它工作正常的代码。// ViewController.m
任何人都可以帮助我