ios - "Extra argument in call"我有这个错误....这段代码有什么问题

标签 ios database swift2

<分区>

这段代码有什么问题?我正在尝试从我的 SQL 数据库中检索数据。

import Foundation

class Service {
    var settings:Settings!

    init(){
        self.settings = Settings()
    }

    func getContacts (callback:(NSDictionary)-> ()){
        request(settings.viewContacts, callback: callback)
    }

    func request(url: String , callback:(NSDictionary) ->()) {
        let nsURL = NSURL(string : url)

        let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL!){
            (data , reponse , error) in
            let error: NSError?

            var reponse = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers , error) as NSDictionary // extra argument in call , i am having this error.
            callback(reponse)
        }
        task.resume()
    }
}

最佳答案

实际上 Swift2NSJSONSerialization 上没有 NSError

您需要将其包装在 do/catch block 中,因为这是报告错误的首选方式,而不是使用 NSError:

do {
   let reponse = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
   // use reponse
    callback(reponse)
} catch {
    // report error
}

如果您需要 NSError 对象属性,请使用:

do {
    let reponse = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary

    // use reponse
    callback(reponse)
} catch let error as NSError {
    print("json error: \(error.localizedDescription)")
}

关于ios - "Extra argument in call"我有这个错误....这段代码有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480687/

相关文章:

MySQL/hive 查询数组中每一项的一个结果

java - 关于如何保存数据的建议

java - Android数据库md5改变,为什么改变相同的大小?

Swift:如何存储对 Double、Int 的引用

ios - 经过身份验证的 http 请求 swift Alamofire

Swift 包管理器 - UIKit 依赖

ios - 是否可以使用静态凭据在没有登录弹出窗口的情况下在谷歌驱动器或 Dropbox 中自动登录?

ios - 图像作为每个 View 的背景

ios - 在标签上打印 Instagram 帖子回复时出现问题

ios - 调用登录方法后立即抛出 cordova-plugin-facebook4@4.2.1 "User cancelled."错误