2014-07-21 68 views
0

我覺得上面的錯誤必須是一個Swift錯誤,否則1!= 1是一個真實的語句...無法轉換表達式的類型「NSData!」到「NSData!」錯誤

我想創建一個JSONObject,我可以包含在一個HTTP Post請求的主體以便使用Coinbase API。這是導致此錯誤的代碼。

let buttonDict : [String: String] = ["name": "test", "price_string": "0.20", "price_currency_iso": "USD"] 
let jsonDict : [String: Dictionary] = ["button": buttonDict] 
var jsonError : NSError? 
let HTTPBody = NSJSONSerialization.dataWithJSONObject(jsonDict, options: NSJSONWritingOptions.PrettyPrinted, error: jsonError) 

任何線索爲什麼這個錯誤被拋出?

回答

4

的錯誤是一個糟糕的錯誤,但errorinout參數,所以你必須把一個&在它的前面:

let HTTPBody = NSJSONSerialization.dataWithJSONObject(
    jsonDict, 
    options: .PrettyPrinted, 
    error: &jsonError 
    ) 
+0

啊我應該抓住這一點,但感謝你的簡潔錯誤。是的,這是一個非常可怕的錯誤。 – almel

+0

不是Swift中唯一令人誤解的錯誤:http://stackoverflow.com/questions/24713479/error-int-is-not-convertible-to-lvalue-float – nhgrif