- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 iOS 编程的新手,正在尝试创建我的第一个应用程序。我正在使用
从服务器获取一些数据 var task = NSURLSession.sharedSession().dataTaskWithRequest(request,
completionHandler: { (data, response, error) -> Void in
据我了解,completionHandler 闭包中的所有代码都是在任务完成时执行的。在我的 ViewController 中,我想检查此任务是否已完成,并且在完成之前不加载表。如何检查此任务是否已完成?
我想我可以让 completionHandler 在它运行时将一些全局 bool 变量设置为 true,我可以在我的 ViewController 中检查这个变量,但我觉得有一个更好的方法来使用内置功能,我只是不知道。
最佳答案
View Controller 不需要知道 completionHandler
何时被调用。您所做的就是让 completionHandler
实际上将 tableView.reload()
分派(dispatch)回主队列(然后触发调用 UITableViewDataSource
方法)。启动 UI 更新的是 completionHandler
,而不是相反:
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
// check for errors and parse the `data` here
// when done
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reload() // this results in all of the `UITableViewDataSource` methods to be called
}
}
task.resume()
关于ios - 如何检查 dataTaskWithRequest 是否完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665874/
我的 iOS swift 应用程序出现奇怪的错误。编译器在第一行提示: let task = session.dataTaskWithRequest(request) { data, response
我正在使用 swift 创建一个 IOS 应用程序。最近,我遇到了一个奇怪的错误。我正在尝试检查 url 是否有效,因此,我正在使用 url 创建请求并检查响应。我使用 NSUrlSession 的
我必须创建一个应用程序来恢复 API 中的数据,为此我在请求中使用了 NSURLSession.sharedSession 和 dataTaskWithRequest。 我设法恢复了所有信息,但我不明
public func dataTaskWithRequest(request: NSURLRequest, completionHandler: (NSData?, NSURLResponse?,
如何等待 dataTaskWithRequest 完成?网络抓取完全结束后,我需要执行一些任务。 最佳答案 如果确实需要同步请求,可以使用信号量。 我在 NSURLSession 上实现了一个小类来提
在我的应用程序中,用户点击标记,我需要调用网络服务才能获取要显示的信息。我使用 NSURLSession.dataTaskWithRequest 然后在主队列上调用dispatch_async以向用户
我正在尝试制作一个通用类,该类将从 URL 读取 JSON 数据,并使用从 JSON 数据创建的 NSDictionary 执行回调。我已经创建了一个静态类来执行该功能,但它似乎在 dataTaskW
这个问题在这里已经有了答案: How can I get the Data from NSURLSession.sharedSession().dataTaskWithRequest (2 个答案)
我有以下代码: var resultData:NSData? task = session!.dataTaskWithRequest(request) { (data: NSData!, respon
我目前正在像往常一样开发一个 WS 调用,但我不知道为什么这只在我第一次调用它时有效,数据第一次有值(value),但如果我再次调用它,它返回 nil。如果我查看响应,我可以看到它在数据为 nil 时
这是我的代码: let targetURL = NSURL(string: self.urlStringForRequestChannelDetails) let request =
我有这个函数负责 API 调用 (makeAPICall),当 httpResponse.statusCode != 200< 时,我想为某些 API 响应抛出错误。问题是,据我所知,NSURLSes
我是 iOS 编程的新手,正在尝试创建我的第一个应用程序。我正在使用 从服务器获取一些数据 var task = NSURLSession.sharedSession().dataTaskWith
我有一个安全的 webView,它显示客户加载他的钱包。我传递安全信息 MPIN(如一次性密码)。有问题 @IBOutlet weak var loading: UIActivityIndicator
我有一个方法,它为我解析 JSON,然后在闭包中加载图像并将其保存到磁盘。该方法在 viewDidLoad 中被调用。然后加载表。问题是,当表格加载时,它里面只有一个单元格,因为 dataTaskWi
我想填充一个UITableViewController,因此在我的viewDidLoad中我有以下代码: override func viewDidLoad() { let rc = Rest
我在 Swift 中从 AFNetworking 2.5 迁移到 3.0,并且遇到了 dataTaskWithRequest 方法的问题。此方法位于 AFHTTPSessionManager 父类(s
当我想将 mysql 数据库中的数据填充到类对象中时,我的问题出现了。我试图返回一个对象数组,它返回 nil,然后它以某种方式填充自己。在返回空白数组之前如何使其填充? 这是我的代码和代码输出的屏幕截
我知道这个问题之前已经被问过几十次了,但不幸的是我对 Swift 的了解不够,无法根据我的问题调整这些答案。 基本上,我有一个函数可以向服务器上的 php 脚本发送 POST 请求,但接收响应的时间似
如有必要,我会尝试比较文件(图 block ),以替换手机上的旧文件和网站上的新文件。但是 func pathDir 中的 returnPathFile 被分配了对文件的引用,而无需等待检查并下载新文
我是一名优秀的程序员,十分优秀!