ios - NSArray 元素未能匹配 Swift Array 元素类型 Expected NSMutableArray 但找到 __NSDictionaryI:
问题描述
我正在尝试将一个NSMutableArray
从 Objective-C ViewController 传递给 Swift ViewController,问题是 Swift ViewController 无法理解NSMutableArray
类型,当我尝试访问 Swift 中的数组时,他给了我这个错误我得到了这个错误:
前提条件失败:
NSArray 元素无法匹配 Swift Array 元素类型
预期 NSMutableArray 但找到 __NSDictionaryI
我尝试了多种解决方案,例如NSMutableArray
使用以下代码将其转换为 Swift String 数组:
var swiftArray = objCMutableArray as NSArray as! [String]
或这个:
let swiftArray: [String] = mutableArray.flatMap { $0 as? String }
但它总是给我这个错误:
无法将“__NSDictionaryI”(0x1083bdcf8)类型的值转换为“NSString”
解决方案
试试这个。
if let swiftArray = objCMutableArray.mutableCopy() as? Array<Dictionary<String, AnyObject>> {
}
推荐阅读
- python - 如何在 Python 中编写递归斐波那契算法的多线程版本
- apache-spark - 如何获取有关 Spark Stages&Tasks 的详细信息
- wpf - 选项卡焦点不适用于包装控件的控件模板
- django - 如何定义 APIView 的 url?
- konvajs - 如何修复 iPad 上的“总画布内存使用超过最大限制 (256MB)”错误
- antlr - 如何让用户决定在antlr中插入换行符的位置?
- php - 开发环境中的 Symfony 错误:不存在的服务“C”(链接到 webpack-dev-server)
- python - 无法全局安装私有包
- android - React Native 错误:已经创建了 Android 任务。安卓工作室 3.3
- python - Python给出一个二维列表标题