字典无法从 Objective-C 桥接 -> Swift 中的问题

Dictionary cannot be bridged from Objective-C -> Issues in Swift

我一直在将一些 objective-c 代码移植到 swift 中,我正在尝试将结果集作为字典,然后将每个字典(相当于数据库中的一行)打包到数组。但是我收到此错误消息 "Dictionary cannot be bridged from Objective-C"。我已经从 apple 阅读了 this,但我仍然没有找到解决方案。有任何想法吗?谢谢

这是错误所在的行:

resultsArray.append(resultSet!.resultDictionary() as Dictionary<String,String>)

来自很棒的 robertmryan 为方便起见转载于此:

如果您的数据库有空值(return [NSNull null] 对象)或数值(return NSNumber 对象),就会发生这种情况。您可以通过将 resultsArray 定义为:

来解决此问题
var resultsArray = Array<Dictionary<String,AnyObject>>()

或者,我个人更喜欢:

var resultsArray = [[String: AnyObject]]()

然后在添加对象时,我会

resultsArray.append(resultSet!.resultDictionary() as Dictionary<String, AnyObject>)

resultsArray.append(resultSet!.resultDictionary() as [String: AnyObject])