2015-06-10 23 views
0

我得到的JSON數據作爲NSURLSession.sharedSession().dataTaskWithRequest一個結果,它反序列化到AnyObjectSwift:如果我複製的是JSON數據的AnyObject,數據將被複制或通過引用傳遞?

var error: NSError? 
let jsonObject: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: &error) 

我想將它傳遞給完成處理程序解析jsonObject成結構化數據。

問題:jsonObject通過引用或深拷貝?由於JSON包含的ArrayDictionary是Swift中值類型的問題。

我發現這個answer相關的問題,說基金會內的對象確實是NSArrayNSDictionary,即引用類型。這與JSON數據相同嗎?

+0

爲什麼它會關注對象來自哪裏?爲什麼參考類型會按值傳遞? AnyObject是一個引用類型。 – nhgrif

回答

1

類對象(AnyObject)始終按引用傳遞。