我有下面的代碼試圖字典轉換爲NSData的:斯威夫特:參數類型「[字符串:值類型]」不符合預期的類型「AnyObject」
func dataFromDict<ValueType>(dict: [String:ValueType]) -> NSData {
return NSKeyedArchiver.archivedDataWithRootObject(dict)
}
編譯器給了我這個錯誤傳遞dict
作爲參數:
Argument type '[String:ValueType]' does not conform to expected type 'AnyObject'
編輯:
@v adian的解決方案爲我工作。
我也試着投詞典到NSDictionary
:
return NSKeyedArchiver.archivedDataWithRootObject(dict as NSDictionary)
但收到此錯誤:
Cannot convert value of type '[String:ValueType]' to type 'NSDictionary' in coercion
爲什麼?
不要扔掉類型信息。希望您可以將輸入字典值限制爲實際類型,以便以後知道如何解碼它們。是的,你可以使用強制轉換消除/忽略編譯器警告,但它仍然不能解決實際問題。 –