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

标签 swift fmdb

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

这是错误所在的行:

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

最佳答案

来自很棒的 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])

关于swift - 字典无法从 Objective-C 桥接 -> Swift 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425175/

相关文章:

mysql - 关于重复键更新 sqlite FMDB

ios - 使用 CIContext 在 GLKView 中绘制时,方面填充 AVCaptureVideoDataOutput

ios - 来自不同框架的扩展方法的名称冲突

swift - Swift tvOS 中的嵌套 dataTaskWithRequest

objective-c - 使用 FMDB 从 sqlite DB 创建字典数组

ios - FMDB:在 iOS 应用程序的整个生命周期中保持开放数据库好吗?

swift - addSnapshotListener 仅获取 firebase 集合中的更改

ios - 在 Hapijs 后端处理 Alamofire 在 Swift 中发送的多部分/表单数据请求

ios - 转义 FMDB iOS 查询中的特殊字符

Swift FMResultSet nil/获取行数