Swift2 ';NSMutableDictionary';不可转换为';[NSObject:AnyObject]';swift 2.0
更新到swift 2.0后Swift2 ';NSMutableDictionary';不可转换为';[NSObject:AnyObject]';swift 2.0,swift2,Swift2,更新到swift 2.0后 发生了一些以前是正确的错误, 这是代码 let dict = NSMutableDictionary() dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data" dict[NSLocalizedFailureReasonErrorKey] = failureReason dict[NSUnderlyingErrorKey] = error
发生了一些以前是正确的错误, 这是代码
let dict = NSMutableDictionary()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict as [NSObject: AnyObject])
错误信息如下所示:
'NSMutableDictionary' is not convertible to '[NSObject : AnyObject]'
你知道如何解决这个问题吗?我无法重现你的问题,但有几点建议可以完全避免使用
NSMutableDictionary
(从而消除强制转换):
字典
,无需强制转换:
var dict = [NSObject: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
let dict: [NSObject : AnyObject] = [
NSLocalizedDescriptionKey : "Failed to initialize the application's saved data",
NSLocalizedFailureReasonErrorKey : failureReason,
NSUnderlyingErrorKey : error
]
我已经浏览了你的代码,我修改如下。请查看以下代码:
var dict = NSMutableDictionary() as [NSObject : AnyObject]
let error :NSError = { return NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict as [NSObject: AnyObject]) }()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = "hello"
dict[NSUnderlyingErrorKey] = error
做一个干净的构建,你的代码对我来说很好。