问题标签 [nsurlsessiondatatask]

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 回答
475 浏览

ios - 更新数据与更新 UI 的困境

我最近使用 Swift 开发了一个 iOS 应用程序,它处理大量后台 HTTP 任务,不仅更新 UI,还根据响应数据更新当前会话的静态数据(大量数组、变量等)。我在 iOS 开发中可能算得上是新人,但有几点让我感到困惑:

从后台任务更新 UI 是通过 GCD API 处理的。我一直使用以下方法处理这些更新:

让我给出一个场景并澄清我的观点:

我有一个带有 UITableView 子视图的视图控制器。这个表视图将显示一些东西的列表(比如说用户名)。我准备并恢复了一个 NSURLSessionDataTask:

我的一些测试人员遇到了一些与调度调用和运行循环相关的崩溃,我无法找到背后的原因。我认为这与我的调度呼叫有关。现在我正在重新考虑我的设计,这是我的问题:

  • 在 http 任务的完成处理程序中,在主队列上的 dispatch_async 调用内部和外部更新静态数据(数组、字典等)有什么区别(在我的数据更新之后,UI 无论如何都会在调度调用中更新) )?。在从数组中读取、插入或删除时,如何确保后台线程的线程安全?
  • 在闭包内进行 dispatch_async 调用(用于任务完成处理程序)是否会导致任何问题?

任何明确的评论或指导都会非常有帮助!现在已经非常感谢了

0 投票
1 回答
51 浏览

ios - 如何从连续 URL 中获取数据

当我尝试在循环中执行时,我有连续的 Url 最多页码它在这里不起作用是我的代码我想从不同的 URL 获取数据直到页码

当我这样做时,它适用,pageNumber = 1但问题是它每次都提供相同的 URL,基本上是在我写println(url!). //JSON Parse每次它给我:

所以我检查了数据不为零,但它只适用于pagenumber = 1

0 投票
1 回答
399 浏览

ios - UIAlertView takes too long when using inside NSURLSession

I am using NSURLSession to get some information from my server. After i get the data, i show it in a UIAlertView, but it takes too long to show. I print the data with the NSLog and it prints it almost instantly... So what is happening? Does the method dataTaskWithRequest is not asynchronous? Why it takes so much time to pop up the alert view?

0 投票
1 回答
435 浏览

core-data - 从 CoreData 加载 TableView 图像时出现错误和缓慢的滚动

问题: 使用存储在 Core Data DB 中的路径将图像加载到表视图的过程工作正常,但用户体验不佳。卷轴很慢而且有问题。

重要提示:

  • 对于我的本地数据库,我使用核心数据
  • 我没有将图像保存在 Core Data 中,只有它们的路径(图像名称)
  • 至于表视图 DataSource ,我使用 Person 类型的数组,其中包含 ID 和 Img 名称(TableView 行等于 array.Count)。- 这是获取我的 Json 的网址(查看) - Json Link
  • Core Data DB 中的所有对象
  • 据我所知,我在 Main theard 完成了所有 UI 更新
  • 每次检查后,我都会重新加载 tableview。

这是按照正确顺序采取的步骤:

使用 NSURLSession - DataTask 获取数据。之后“解析”它并检查Core Data DB中是否存在每个对象(在for循环中),然后将他的变量附加到TableView数据源数组中,然后重新加载数据

1)

检查他是否存在于Core Data DB中的方法(该方法接收ID并在存在时返回对象,如果不存在则返回nil:

cellForRowAtIndexPath 方法

任何建议问题的原因是什么?

0 投票
0 回答
286 浏览

ios - 防止 NSURLSessionDataTask 重复触发请求

我正在使用 NSURLSessionDataTask 从打开由 iPhone 连接的 adhoc-WiFi 的设备获取 JSON 数据。(连接通过 TCP 运行)。

该设备非常慢 - 发送特定响应大约需要 5 秒。通过dataTask.resume()我的应用程序触发请求后,只需等待调用 completionHandler 即可。不幸的是,请求被一次又一次地触发(每次延迟约 1 秒)。我猜这是由 dataTask 或 NSURLSession 发起的。我可以在调试设备时监控重复的请求。

这是我正在使用的代码:

有谁知道如何防止 iOS 重新触发这些请求?

0 投票
1 回答
767 浏览

swift - Swift:如何用不同的 NSURL 顺序循环遍历 NSURLSession?

基本上我想循环浏览4个网页,从每个页面获取6个数据,循环结束时数组中共有24个数据,然后显示该数组最后添加的数据(数组中的第24个对象) /(第4个网页的第6个数据)在message.text标签上。

信息:

i) 我要循环浏览的 4 个网页:

http://apims.doe.gov.my/apims/hourly1.php

http://apims.doe.gov.my/apims/hourly2.php

http://apims.doe.gov.my/apims/hourly3.php

http://apims.doe.gov.my/apims/hourly4.php

ii) NSURLSession 任务从页面中获取 6 个数据(“AQI1”、“AQI2”、“AQI3”、“AQI4”、“AQI5”、“AQI6”),并添加到空 [String] 数组(“AQI "):

iii) Var "taskerror" 被创建为一个布尔值来检查任务中不需要的错误,如果 Var "taskerror" = true 最后运行一个 Func ERROR( ) 。



这是整个代码,我将其放在 IBAction 按钮下(我在按钮之前创建了 var AQI = [String] ( ))

我的问题是:

1)在4个URL上运行任务的顺序是随机的,导致数组AQI中6组数据的显示顺序是随机的,因此数组AQI中的最后(第24)个对象不固定,即使第 4 个 URL 的最后一个数据没有改变。

2) 在 message.text 上显示 AQI[23] 之前使用 println(self.AQI),我可以看到这组 6 个数据是随机排序的。

3) 在 var task 之前使用 println(object) 显示循环相应地通过 URL “1”、“2”、“3”、“4”运行。但是如果放在var task里面,它会显示循环是如何随机运行的(例如“2”、“4”、“3”、“1”),从而产生对应的(2)中提到的随机排列的数组AQI。

我的问题是

1)为什么在任务中循环随机运行?(不是根据设置的 var pages = ["1", "2", "3", "4"] )

2)如何让任务通过循环有序运行,使数组AQI中的最后一个对象(第24个)始终相同?

注意:我知道如果我想要最后一个数据,我可以只运行第 4 个 URL,但我想稍后在需要所有 24 个数据时添加更多代码。

ps有没有更好的方法来做我想做的事?

0 投票
2 回答
550 浏览

ios - nsurlsessiondatatask 在向基于 REST 的 url ios 发送发布请求时返回 nil

当我执行代码时,调试器从 NSURLSessionDataTask 跳转并且生成的日志是 __NSCFLocalDataTask: 0x7ff061751960>{ taskIdentifier: 1 } {suspended} 并且在 NSData 和 NSResponse 中没有任何数据。

0 投票
1 回答
72 浏览

ios - NSURLSessionDataTask 显示加载覆盖

执行异步任务时如何使用微调器进行加载叠加NSURLSessionDataTask

0 投票
2 回答
537 浏览

ios - Apple 是否会离线测试 iOS 应用程序?如果没有连接如何处理错误?

我已经向 iTunes 提交了一个应用程序,但 Apple 因崩溃而拒绝了它。

我对 crashreport 进行了符号化和分析,发现它在 json 调用时崩溃了。

我尝试重现它,我发现它只是在我关闭 wlan 时发生。

  1. Apple 是否会离线测试应用程序?
  2. 我该如何处理这个错误?并使我的 jsoncall 更好。

这是我的方法:

它崩溃了let resp...,因为它jsonResult是 nil 并且我使用!

0 投票
1 回答
235 浏览

objective-c - 如何将此 curl 命令转换为 Objective-C?

我想从我的后端获取数据。我应该使用 Authorization 设置请求标头,并使用从我之前的交互到后端的生成 auth_token。这是我的卷发

这是我的代码

我不确定我是否正确实现了 curl。我从后端收到的数据是 null 。有人知道原因吗?