问题标签 [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.

0 投票
2 回答
2722 浏览

objective-c - 在 Swift 中使用 Obj-C 完成块

在 Objective-C 中,我有一个完成块类定义为:

文件.h

然后,在 Swift 文件中,我尝试按如下方式使用完成块:

斯威夫特.swift

但是,我不断收到错误消息:“使用未解析的标识符'成功'”。

我也尝试过以下方法:

有人可以帮我理解如何在 Swift 中正确指定 Obj-C 完成块吗?

0 投票
2 回答
5003 浏览

ios - 如何在objective-c ios中等待完成块完成

我有一个有两种方法的子类:

而这个调用上述方法的方法:

我从另一个视图控制器类调用该函数并调用[thisClass verifyUnique];并希望它等到返回答案。在视图控制器中调用它之前,UI 会使用活动指示器进行处理,因此我们可以等待。如何等待两个完成块返回?

0 投票
1 回答
314 浏览

ios - 在 UIView beginAnimations 完成后执行操作

我想在 UIView 动画完成时做一个动作。

我试过使用

但是不要让它工作,可能我做错了什么。

更新代码 该按钮连接到两个动作。

它也与这个动作有关。

5 秒后它跳转到这个 if 语句。更新

0 投票
1 回答
698 浏览

ios - Objective c iOS中的完成处理程序

我正在研究积木,使用起来似乎令人印象深刻。但后来我知道我们可以在函数中使用块作为变量,它的主要用途是当我们想要做一些异步工作时,在得到某些结果后我们必须执行一些操作。

我查看了很多资源并了解了他们在做什么。我试图通过传递这样的字符串来做同样的事情:

将块定义为 .h 文件中的参数

在 .m 文件中实现一个块作为参数

所以在这里我将“sudh”作为字符串传递并再次获取它。

我仍然不确定 while 事情是如何工作的。有没有一个教程可以用图纸完美地捕捉到事情是如何完成的。

我已经阅读了很多文章,但它们只告诉我们它需要实现的方式,而不是告诉我们为什么这个实现会做这些事情。此外,在名为 .

0 投票
1 回答
594 浏览

ios - Swift 3.0 无法将 (_, _)->() 类型的值转换为预期的参数类型“ObjectsOrErrorBlock”

我在objective-c中使用了typedef来定义一个完成块,如下所示:

然后我有一个 Swift 3.0 函数,它将 ObjectsOrErrorBlock 作为参数。当我尝试使用该功能时,我收到标题中提到的错误。这就是我试图调用它的方式:

这就是 Xcode 自动填充我的函数的方式:

我调用函数的方式有什么问题?我应该怎么称呼它?

所以有人指出,这个问题类似于: Calling objective-C typedef block from swift where the solution was an instance method is called on an non-instance object (aka BPDAPIClient). shared() 函数实际上返回 instancetype 的实例,因此不会在非实例对象上调用 getLeadSources 方法,而是在某个实例上调用它。这是共享的定义方式:

0 投票
1 回答
1161 浏览

ios - 关闭完成块不起作用。迅速

我有PhotoBrowser(它继承自UIViewController)作为presentedViewController. 我从UITableViewController. 当我点击按钮时的PhotoBrowser礼物actionMainController(它继承自)。UIAlertController我想调用另一个UIAlertController,当我在 actionMainController 中选择一个动作并在其关闭后立即显示第二个UIAlertController,但完成块不起作用。我想补充一点,解雇actionMainController成功,它有效

0 投票
1 回答
36 浏览

ios - 在块中调用时未发出 CLLocationManager 身份验证请求

我的身份验证请求方法存在一些问题,如下所示:

这里的问题是,当我点击“使用时”按钮或“始终”按钮时,会调用它们的操作并解除警报,但从不请求位置验证。我在发出身份验证请求和调用方法的行上放置了一个断点。有趣的是,如果我将对 auth 方法的调用移出它们各自的完成块,那么它工作正常,但出于我的目的,我需要在我的自定义警报被解除之前不要调用它们。

有谁知道为什么我会看到这种行为/知道修复?

编辑:

我只是尝试在主线程上调用调度,因为我偷偷怀疑这是一个线程问题,但唉,事实并非如此。

0 投票
2 回答
1200 浏览

ios - 在使用目标 c 中的完成块完成方法后如何执行另一种方法?

我有两种方法。我想在完成第一个任务后执行一个。我怎样才能做到这一点?

0 投票
2 回答
1372 浏览

objective-c - 如何从objective-c中的另一个方法执行完成块?

是否不可能获得完成块成功然后从另一种方法接收数据?

0 投票
1 回答
89 浏览

ios - 创建一个不返回任何内容但在完成时执行另一个函数的完成块?

我正在尝试创建一个完成块,它可以在完成后执行另一个函数,在这种情况下,它是一个 tableview 重新加载。我得到错误:

'async' 产生 '()',而不是预期的上下文结果类型 'Bool'

这是功能:

这是它的使用方式: