字典不能从Objective-C桥接 - > Swift中的问题

时间:2015-02-10 06:04:42

标签: swift fmdb

我一直在将一些Objective-c代码移植到swift中,我试图将结果集作为字典,然后将每个字典(相当于db中的一行)打包成一个数组。但我收到此错误消息“字典无法从Objective-C桥接”。我从苹果那里读过this,但我仍然没有进一步解决问题。有任何想法吗?感谢。

这是错误行:

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

1 个答案:

答案 0 :(得分:4)

从方便的 robertmryan 转发到这里:

如果您的数据库具有空值(返回[NSNull null]个对象)或数值(返回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])