未调用 GTLServiceYouTube executeQuery 回调
GTLServiceYouTube executeQuery callback not called
GTLServiceYouTube executeQuery
当我在后台执行它时没有调用回调 thread.Video 不会上传。当我在 main thread.I get callbacks 中执行它时它工作正常并且视频也被上传。我可以通过在主线程中强制 executeQuery
到 运行 来解决这个问题,但这会影响 UI 性能。我该如何解决这个问题?
我的代码是这样的,
self.uploadFileTicket = [service executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLYouTubeVideo *uploadedVideo,
NSError *error) {
// code to handle
}
我找到了解决办法!这里发生的事情是,当我 运行 后台线程中的代码时,在回调到来之前线程被分离。因此我们没有得到回调。当我 运行 它在主线程中时,主线程始终保持活动状态。因此我们确实得到了回调。因此,可以通过使用以下代码使当前线程等待来解决此问题。
[[NSRunLoop currentRunLoop] runUntilDate:stopDate];
GTLServiceYouTube executeQuery
当我在后台执行它时没有调用回调 thread.Video 不会上传。当我在 main thread.I get callbacks 中执行它时它工作正常并且视频也被上传。我可以通过在主线程中强制 executeQuery
到 运行 来解决这个问题,但这会影响 UI 性能。我该如何解决这个问题?
我的代码是这样的,
self.uploadFileTicket = [service executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLYouTubeVideo *uploadedVideo,
NSError *error) {
// code to handle
}
我找到了解决办法!这里发生的事情是,当我 运行 后台线程中的代码时,在回调到来之前线程被分离。因此我们没有得到回调。当我 运行 它在主线程中时,主线程始终保持活动状态。因此我们确实得到了回调。因此,可以通过使用以下代码使当前线程等待来解决此问题。
[[NSRunLoop currentRunLoop] runUntilDate:stopDate];