0
我正在轉向Swift 2.1管理持久性CoreData的一些代碼。雖然我得到一個奇怪的錯誤,告訴我,我不能投NSMutableDictionnary
到[String: AnyObject]
這是我不明白無法將NSMutableDictionnary強制轉換爲[String:AnyObject]
do {
try coordinator!.addPersistentStoreWithType(NSSQLiteStoreType,
configuration: nil, URL: url, options: options)
} catch var providedError as NSError {
coordinator = nil
// Report any error we got.
let dict = NSMutableDictionary()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = providedError
let error = NSError(domain: "SOME_ERROR_DOMAIN", code: 9999,
userInfo: dict as! [String : AnyObject]) // <--- HERE IS THE WARNING
} catch {
fatalError()
}
警告消息:
Cast from 'NSMutableDictionary' to unrelated type '[String : AnyObject]' always fails
我會解決這個直接使用Swift Dictionnary,但我想知道這個問題的原因。
如果你讀過這個問題,你會注意到這句話:「我將通過直接使用Swift Dictionnary來解決這個問題,但我想知道爲什麼會出現這樣的問題。」 – AsTeR
@AsTeR我認爲你不會對人們如此尖銳的幫助很大。 – trojanfoe
我已經添加了原因。 – vadian