2015-11-02 17 views
1

这个代码有什么问题?我试图从我的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() 
    } 
} 

回答

1

实际上Swift2没有NSErrorNSJSONSerialization

你需要用它在一个do/catch块,因为这是报告错误,而不是使用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)") 
} 
+0

感谢兄弟,我从最近几天来试着这个n你解决了它:) –

+0

@ZainHabib - 有一个愉快的一天我的兄弟,实际上很快2.0是代码格式, –

+0

兄弟我想做一个应用程序,将从数据库检索联系人,所以你可以给我任何提示,我如何分类这些联系人?例如,所有学校的号码,医院号码,酒店等...我是否必须在数据库中制作不同的表格或者在快捷方式中有其他方式? –