我希望有人可以帮助我弄清楚我正在尝试用
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 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。