加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

问题获取NSData请求在Swift 2.0中工作

发布时间:2020-12-14 04:49:03 所属栏目:百科 来源:网络整理
导读:我希望有人可以帮助我弄清楚我正在尝试用 Swift 2.0编写(或学习写作)的应用程序.这在以前的Swift 1.2中有效,但经过必要的转换后,我不断面对错误; 无法使用类型为'(contenOfURL:NSURL,options:NSDataReadingOptions,error:nil)的参数列表调用类型为’NSDat
我希望有人可以帮助我弄清楚我正在尝试用 Swift 2.0编写(或学习写作)的应用程序.这在以前的Swift 1.2中有效,但经过必要的转换后,我不断面对错误;

无法使用类型为'(contenOfURL:NSURL,options:NSDataReadingOptions,error:nil)的参数列表调用类型为’NSData’的初始值设定项’

这是我的代码,略有截断,我正在使用;

...

class func fetchMinionData() -> [Minion] {
    let myURL = "https://myurl/test.json"

    let dataURL = NSURL(string: myURL)

    let data = NSData(contentsOfURL: dataURL!,options: NSDataReadingOptions.DataReadingMappedIfSafe,error: nil)
    //THIS IS THE LINE THAT THROWS THE ERROR

    let minionJSON = JSON(data)

    var minions = [Minion]()

    for (_,minionDictionary) in minionJSON {
        minions.append(Minion(minionDetails: minionDictionary))
    }

    return minions
}

...

请注意,我计划在下载数据后使用SwiftyJSON库进一步解析数据.我在网上无休止地搜索,但我似乎无法弄清楚这一点!谢谢!

解决方法

如果您正在使用Swift 2,则不应传递最后一个参数“error”.而是尝试围绕NSData初始化.如果需要在外部访问数据,则将init结果转换为var并转换为let Modified代码

var optData:NSData? = nil
  do {
    optData = try NSData(contentsOfURL: dataURL!,options: NSDataReadingOptions.DataReadingMappedIfSafe)
  }
  catch {
    print("Handle (error) here")
  }

  if let data = optData {
    // Convert data to JSON here
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读