2015-05-27 100 views
0

的值,然後出現錯誤「無法投射類型值」。當我打電話給web服務時,無法投射類型

var params: [String: String] = 
      ["udid": layout.udId, "email": emailtxt.text, "password": passtxt.text] 

      api.sendPostCall(params, url: "http://doxnation.com/api"){(success:Bool,reult: AnyObject) ->() in 

       if(success) { 
       } 
       else{ 
        println("Error HERE"); 
       } 
      } 

,這裏是我的sendPostCall功能

func sendPostCall(params : AnyObject, url : String, postCompleted : (succeeded: Bool, result: AnyObject) ->()) { 
    var request = NSMutableURLRequest(URL: NSURL(string: url)!) 
    var session = NSURLSession.sharedSession() 
    request.HTTPMethod = "POST" 


    var err: NSError? 
    let data = (params as NSString).dataUsingEncoding(NSUTF8StringEncoding) // Error here 
} 

我不明白,我怎麼能解決這個問題? 我也嘗試

let data = (params as! NSString).dataUsingEncoding(NSUTF8StringEncoding) 
+0

在哪一行你得到這個錯誤? –

+0

let data =(params as NSString).dataUsingEncoding(NSUTF8StringEncoding)//錯誤在這裏 – Haseeb

+2

你的參數是字典。但是你將它強制轉換爲NSString。 – Amit89

回答

0

我只需更換

let data = (params as NSString).dataUsingEncoding(NSUTF8StringEncoding) 

let data = NSJSONSerialization.dataWithJSONObject(params, options:NSJSONWritingOptions(0), error: &err) 

,如果任何人有更好的解決方案,然後親切地交流,請與我

感謝所有

相關問題