如果不使用第三方库,URLSession是否需要获取远程数据?

迅捷京东

通常,我使用AlamoFire,但一直在测试URLSession。我试着用

尝试?数据(contentsOf:URL)

并能够正确获取数据。与该方法相比,使用URLSession有好处吗?这样看起来更干净,但也许我缺少了一些东西。这是我可以正常使用的全部功能:

class UrlSessionNetworkManager: NSObject {

  static let sharedManager = UrlSessionNetworkManager()

      func parseJSONFromData(urlExtension:String)-> [String : AnyObject]?
      {

        let jsonData = try? Data(contentsOf: URL(string:"\(baseURL)\(urlExtension)")!)

        if let data = jsonData {

          do {
            let jsonDictionary = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as? [String : AnyObject]

            return jsonDictionary

          } catch let error as NSError {

            print("error processing json data: \(error.localizedDescription)")
          }
        }

        return nil
      }
    }
}
加特伍德

几个关键点:

  • 使用NSData获取非本地URL的内容被认为是不受支持的行为,并且可能随时中断。
  • 使用NSData来获取非本地URL是同步发生的,这意味着在请求完成之前(可能持续数分钟,有问题的线程无法取得进展
  • iOS会杀死阻塞超过30秒的进程,因此,如果您使用NSData检索主线程上的URL,则在速度较慢的网络上,您的应用将反复被杀死。

因此,基本上,答案是“在任何情况下都不要做您想做的事情”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

第三方库的使用

来自分类Dev

如何永远运行流星?使用第三方数据库是否很好?

来自分类Dev

在不使用第三方工具的情况下从实体框架中的数据库更新模块

来自分类Dev

需要第三方库罐分析

来自分类Dev

使用或不使用第三方存储库安装 Virtualbox 有什么区别

来自分类Dev

不使用第三方库的PHP中的JWT(JSON Web令牌)。怎么签?

来自分类Dev

在不使用iOS第三方库的情况下调整图像亮度

来自分类Dev

不使用第三方库反转Python中的已知算法

来自分类Dev

创建山峰数组而不使用第三方库?

来自分类Dev

获取Java中的第三方库版本

来自分类Dev

在Jint中使用第三方js库

来自分类Dev

使用第三方库(sbpl)

来自分类Dev

使用GIT进行协作-第三方库

来自分类Dev

在NetBeans中使用第三方库

来自分类Dev

使用第三方库进行Python部署

来自分类Dev

在Eclipse for Android中使用第三方库

来自分类Dev

使用第三方库的OpenCV问题

来自分类Dev

使用第三方库进行编译

来自分类Dev

在Jint中使用第三方js库

来自分类Dev

如何使用Pymysql / Python从第三方API将数据插入数据库?

来自分类Dev

Singleton与第三方库

来自分类Dev

使用第三方 CSS 是否危险?

来自分类Dev

为 React Native UI 使用第三方库是否安全且良好?

来自分类Dev

如何使用 Access 访问第三方数据库

来自分类Dev

是否可以使用Elm的std库裁剪Element?如果没有,是否有为此的第三方库?

来自分类Dev

是否可以使用Elm的std库裁剪Element?如果不是,是否有为此的第三方库?

来自分类Dev

如何使用主要的c ++程序构建声音相关的库(不使用任何第三方库)

来自分类Dev

如何查找第三方库中正在使用的第三方组件

来自分类Dev

是否可以在不使用第三方库的情况下在运行时判断整数类型在 C 中的字节数

Related 相关文章

  1. 1

    第三方库的使用

  2. 2

    如何永远运行流星?使用第三方数据库是否很好?

  3. 3

    在不使用第三方工具的情况下从实体框架中的数据库更新模块

  4. 4

    需要第三方库罐分析

  5. 5

    使用或不使用第三方存储库安装 Virtualbox 有什么区别

  6. 6

    不使用第三方库的PHP中的JWT(JSON Web令牌)。怎么签?

  7. 7

    在不使用iOS第三方库的情况下调整图像亮度

  8. 8

    不使用第三方库反转Python中的已知算法

  9. 9

    创建山峰数组而不使用第三方库?

  10. 10

    获取Java中的第三方库版本

  11. 11

    在Jint中使用第三方js库

  12. 12

    使用第三方库(sbpl)

  13. 13

    使用GIT进行协作-第三方库

  14. 14

    在NetBeans中使用第三方库

  15. 15

    使用第三方库进行Python部署

  16. 16

    在Eclipse for Android中使用第三方库

  17. 17

    使用第三方库的OpenCV问题

  18. 18

    使用第三方库进行编译

  19. 19

    在Jint中使用第三方js库

  20. 20

    如何使用Pymysql / Python从第三方API将数据插入数据库?

  21. 21

    Singleton与第三方库

  22. 22

    使用第三方 CSS 是否危险?

  23. 23

    为 React Native UI 使用第三方库是否安全且良好?

  24. 24

    如何使用 Access 访问第三方数据库

  25. 25

    是否可以使用Elm的std库裁剪Element?如果没有,是否有为此的第三方库?

  26. 26

    是否可以使用Elm的std库裁剪Element?如果不是,是否有为此的第三方库?

  27. 27

    如何使用主要的c ++程序构建声音相关的库(不使用任何第三方库)

  28. 28

    如何查找第三方库中正在使用的第三方组件

  29. 29

    是否可以在不使用第三方库的情况下在运行时判断整数类型在 C 中的字节数

热门标签

归档