问题标签 [completionhandler]

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.

0 投票
2 回答
1255 浏览

ios - 在目标 c 中延迟或完成循环

我有一个应用程序,我需要循环并加载存储的数据以生成信息以保存到 PDF 文件、页面。我创建了一个循环,但它运行得太快了,可以这么说。保存的页面加载速度不够快,因此生成的数据不完整。我想我需要创建一个带有延迟或完成处理程序的 for 循环。就像是:

甚至不知道如何编写该伪代码,但基本上我只想在完成处理程序为加载数据的任务触发后跳转到下一次迭代。

注:源数据来源于核心数据,保存为PDF文件。数据是页面和页面的视图。每个页面可以有 1 次或无限次查看。每个视图也可能有数据,例如图像。当前发生的情况是写入的页面数是正确的,但是呈现为 PDF 的页面视图是相同的,因为它们都读取相同的数据,因为在写入 PDF 之前没有加载页面。

0 投票
5 回答
3828 浏览

ios7 - iOS7 GM 上不调用完成处理程序

我正在使用 AVAssetWriter,它在 iOS6 上完美运行。

问题是,当我调用 时finishWritingWithCompletionHandler,iOS7 GM 上没有调用完成处理程序。

我打电话了markAsFinished,甚至endSessionAtSourceTime在我打电话给finishWritingWithCompletionHandler之前。

它在 iOS6 上运行良好。

更重要的是,在 iOS7 上,它有时可以工作,然后又不能工作。

我不知道为什么,但如果我使用警报视图调用该方法,它就会起作用。所以我尝试了performSelectorOnMainThreadand inBackground,但它没有帮助。

有任何想法吗?

0 投票
2 回答
1633 浏览

java - 在java中通过asynchronousFileChannel写入时丢失数据

我正在尝试使用 asynchronousFileChannel 将日期写入文本文件。我使用 AsynchronousFileChannel 制作了程序的 3 个 jar 文件,并通过命令提示符同时编译了所有 3 个 jar,以读取 3 个不同的文本文件并输出到一个常见的临时文件

我的测试文件(3)中有 2000 条记录要读取,但普通临时文件中的输出缺少一些记录,输出应该有 6000 条记录,但它只显示 5366 或 5666 或有时更少。

我无法弄清楚为什么某些数据会丢失,因为它是 asynchronousFileChannel 的功能。
这是使用异步文件通道的java程序的代码。

} }

这是我从 3 个文件中读取数据的课程:

0 投票
1 回答
236 浏览

ios - AutoRenewable In-Appurchase 中的 Completion Handler 崩溃

我正在制作一个应用程序,我必须让我的 Inappurchase 产品自动更新,为此,在阅读 Apple 文件后,我知道在每次自动更新产品交易后,我们的应用程序都会收到每次购买的交易收据,我需要在验证我的交易收据应用程序后验证来自 Apple 服务器的收据必须保存该交易日期。但是在购买产品后,当我尝试通过 Apple 类 - 验证控制器验证来自 Apple 服务器的交易收据时,我的应用程序在完成处理程序处崩溃,它显示完成处理程序 NIL。

当执行到达这些方法中的任何一个时,我的 _completionHandlers 被释放,现在怎么办?请指导我解决这个问题

0 投票
1 回答
1765 浏览

xcode - 返回方法中的 sendAsynchronousRequest 和 completionHandler

完成处理程序完成后如何返回数据?我试过这个方法,但它显示一个错误:

在此处输入图像描述

0 投票
0 回答
1355 浏览

ios - iOS 7 完成处理程序永远不会被调用

在下面的代码中,没有一个完成处理程序被执行。我能找到的一个解释是iPhone Simulator 5.1 with Xcode 4.5 using UIManagedDocument 中的这个 Bug。它说这可能是 iPhone 模拟器 5.1 中的一个错误。但是,我尝试过 iPhone 模拟器 6.0、6.1 和 7.0,但都没有工作。我会非常感谢你的帮助。

(顺便说一句,我在斯坦福 iOS 课程第 14 课中看到过这段代码)

编辑:我发现了一个似乎正在处理完全相同的问题的问题。我无法获得 nsmanageobjectcontext我只是将其固定到未执行的完成处理程序。

编辑:我发现了问题所在:因为 openWithCompletionHandler 异步执行,所以我的应用程序会在文档完成打开之前尝试使用它。使用运行循环解决了这个问题。下面的例子。

0 投票
2 回答
228 浏览

ios - textFieldShouldReturn - completionHandler 中的某些方法永远不会被调用

我有一个 UITextField,它允许用户为 Facebook 照片输入自定义专辑名称。一旦 textFieldShouldReturn,我将 textField.text 发送到 Facebook。一旦调用完成处理程序,我想更新我的模型并重新加载我的 tableView 中的数据。

我的问题是我的完成处理程序的某些行从未被调用。我用调试器标记了所有行,一旦我逐行执行代码,其中一些行永远不会被调用,尤其是 tableView reload 方法。

我在线程方面做错了吗?为什么我的部分完成处理程序被取消并且从未被调用?

这是我的代码:

0 投票
1 回答
1546 浏览

ios7 - UIActivityViewController completionHandler 如何检查活动是否发送成功?

我想通过空投发送一个字符串,我想在其他设备上成功接收到字符串时调用一个函数。我通过 UIActivityViewController 实现了它,并通过 completionHandler 进行了检查。

这是我的场景:设备 A -> 向设备 B 发送字符串 如果设备 B 接收有两个选项 -> 接受或拒绝,我想在设备 B 接收或拒绝该消息时调用设备 A 上的一个函数。

下面是我的实现:

但是上面的函数总是返回 0,无论字符串是被对方设备“发送”还是“拒绝”。

是否可以检查设备A上的?因为我们可以看到设备 A 上的活动,如果接收比“发送”,如果拒绝比“拒绝”。

0 投票
2 回答
2517 浏览

objective-c - 当您感兴趣的任务完成时,是什么让完成处理程序执行该块?

我一直在询问并试图了解完成处理程序是如何工作的。我已经使用了很多,我已经阅读了很多教程。我将在这里发布我使用的那个,但我希望能够在不使用其他人的代码作为参考的情况下创建自己的。

我理解这个完成处理程序,这个调用者方法:

然后在被调用的方法中:

然后我根据许多 SO 帖子想出了这个:

调用此方法后,它将使用接收到的数据用户重新加载 tableview:

我可以在反例中看到,被调用的方法(带有传递的块)在完成之前永远不会退出循环。因此,“完成”部分实际上取决于被调用方法中的代码,而不是传递给它的块?

在这种情况下,“完成”部分取决于对 NSURLRequest 的调用是同步的这一事实。如果它是异步的呢?在我的数据被 NSURLResponse 填充之前,我如何才能推迟调用该块?

0 投票
1 回答
980 浏览

ios - 需要通过嵌套的异步调用获得“For Loop”的结果(目标 C)

循环完成后,我需要获取最终的 activeTime 值。

下面的代码运行一个循环,该循环又多次调用一个块(它运行一个异步进程)。如果在此期间发生超过 10 个步骤,则每个循环将增加 activeTime。

最终我想调用这段代码并让它返回 activeTime 的最终值。

我正在考虑completionhandler但不确定。

有人可以建议我如何实现这一目标吗?