问题描述
我有一个函数,我将字典[Int:Int]传递为inout T,并且需要将其写入Dictionary。包含此功能是协议的功能。
但是,将T转换为MyObjectType(字典)后,它变得不可变。
问题:在铸造后,如何使通用参数(可以作为结构,类,数组或字典传递)可变?
typealias MyObjectType = [Int : Int] // Key is a enum with Int as RawValue
static func myGenericFunction<T>(_ object: inout T) {
(object as! MyObjectType).updateValue(0,forKey: 1)
}
我尝试将其强制转换为NSMutableDictionary,如下所示,该代码可成功编译,但在使用模拟器运行时会崩溃。
(object as! NSMutableDictionary)[Int(pMetric.selectedUnit)] = Int(pMetric.metricType)
感谢任何好的解决方案!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)