问题标签 [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 投票
0 回答
842 浏览

ios - 使用完成处理程序创建 Swift 单例

我正在创建一个单例以用作我的应用程序中的模型。初始化过程包括一个 API 调用,所以我需要使用完成处理程序。问题是私有初始化程序包含使用公共属性实例化的完成处理程序。如何将完成处理程序添加到 get 实例调用以确保数据已加载?

这是到目前为止的代码,其中没有清楚地了解 API 调用。

我可能过于复杂了这个过程,但在尝试使用单例之前,需要绝对确信数据已经从 API 中提取。

0 投票
1 回答
481 浏览

ios - 从包含闭包的 Swift 函数返回一个值

我编写了一个应该返回一个值但该值来自闭包的函数。问题是如果我尝试从闭包内部返回一个值,它会将其视为完成处理程序的返回值。

0 投票
2 回答
7043 浏览

swift - 无法转换“T”类型的值?到预期的参数类型“_?” - 通用类型和完成块

我正在尝试使用 Alamofire 3 和最新版本的 ObjectMapper ( https://github.com/Hearst-DD/ObjectMapperAlamofireObjectMapper ) 实现( https://github.com/tristanhimmelman/AlamofireObjectMapper )。

似乎 ,AlamofireObjectMapper尚未更新为与 Alamofire 3 一起使用,所以我正在尝试自己做。

我来到了这段代码,现在我被卡住了。

似乎在响应的完成块内无法访问通用类型 T。是Alamofire3 变化还是 Swift 2.1 变化?

这是错误:

无法转换“T”类型的值?到预期的参数类型“_?”

0 投票
4 回答
150 浏览

swift - 函数不返回字符串

所以我要重新开始编程,但我遇到了一个问题。当我在其中存储值时,我的函数没有返回值。你们能看看并指出我为什么会这样吗?

0 投票
1 回答
1428 浏览

nsurlsession - NSURLSession,多数据任务,completionHandler

我想使用NSURLSession并将dataTaskWithURL:completionHandler:4 个不同的 URL 下载到NSData对象中。我知道我可以打电话:

一旦将这些添加到会话中,我知道我可以使用[task resume]. 有什么方法可以告诉会话简单地启动我添加到其中的所有任务?

但是,当所有四个都完成时(有错误或其他情况),我怎样才能得到通知?我是否需要保留某种线程安全字典来跟踪每个任务的状态?

我的目的是,一旦下载了这些,我需要启动一个计时器,以便将来某个时候可以再次下载相同的四个 URL。

0 投票
1 回答
889 浏览

ios - 完成处理程序在 Swift 中未按预期工作

我在下面有这两个函数,使用完成处理程序。这些问题在第二个函数的评论中突出显示......为什么在函数的异步调用完成result之前执行该部分。checforViolationStatus()

0 投票
1 回答
522 浏览

swift - 如何取消完成处理程序?

我想增强下面的代码:当我单击“submitData”按钮时,添加的代码应该取消完成处理程序。

你能告诉我怎么做吗?

0 投票
1 回答
452 浏览

swift - 如何使用完成块快速声明此方法?

我不知道如何在 swift 中声明以下方法:

我从 natashatherobot 博客中找到了这种方法:http: //natashatherobot.com/ios-how-to-download-images-asynchronously-make-uitableview-scroll-fast/

我想快速调用相同的方法,一旦异步请求获取图像,将其传递给完成块。

你有什么建议?

0 投票
1 回答
41 浏览

ios - 自定义函数的 CompletionHandler for Dummies

我在互联网上到处搜索,但无法真正处理我找到的答案。因此,如果有人可以在这里帮助我,那将不胜感激。

我写了一个看起来像这样的函数:

我这样称呼它:

现在,我如何执行作为完成传递的任何内容?
在函数中,在转换的完成块中,我尝试了类似的东西

但这没有用。

提前致谢 :)

0 投票
0 回答
125 浏览

objective-c - 块和完成处理程序的最佳内存管理实践

我的应用程序中有以下代码,并且“dict”对象存在内存泄漏。所以我对代码之后的最佳实践有几个问题:

关于代码:完成处理程序传回 dict 对象,然后根据调用函数创建核心数据实体(因此是主线程)。被序列化的数据来自一个 NSURLConnection。所以问题如下:

1)这是在完成处理程序中传回数据的正确做法吗?

2)哪个函数应该负责内存管理,它应该是调用类吗?

3)是否值得将其包装在自动释放池中,或者这不是它们应该如何使用(一种单独的问题)。

4)任何人都可以从这个函数中看到为什么保留dict的任何明显原因,还是纯粹归结为调用类?

谢谢你的帮助

编辑(整个函数),只是为了确认我正在使用 ARC,并且这个函数是从主线程调用的: