eli*_*ocs 3 objective-c ios swift
我无法将Swift字典转换为NSDictionary
.我使用Swift枚举作为我的字典的关键:
enum StringEnum : String {
case Lemon = "lemon"
case Orange = "orange"
}
var swiftDictionary = [StringEnum: AnyObject]()
swiftDictionary[.Lemon] = "string value"
swiftDictionary[.Orange] = 123
Run Code Online (Sandbox Code Playgroud)
当我尝试NSDictionary
使用as
关键字将其转换为a 时:
let objcDictionary: NSDictionary = swiftDictionary as NSDictionary
Run Code Online (Sandbox Code Playgroud)
我收到编译器错误:
'[StringEnum : AnyObject]' is not convertible to 'NSDictionary'
Run Code Online (Sandbox Code Playgroud)
可以转换这些类型的字典,还是需要循环Swift字典并NSDictionary
手动创建?
我想如果你的字典有枚举值,那么你就无法将其转换为NSDictionary
另一种方法,那就是:
//change the type of your dict to [String: AnyObject]()
var swiftDictionary = [String: AnyObject]()
//you can store rawValue as a key
swiftDictionary[StringEnum.Lemon.rawValue] = "string value"
swiftDictionary[StringEnum.Orange.rawValue] = 123
let objcDictionary = swiftDictionary as NSDictionary //["lemon": "string value", "orange": 123]
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助.
归档时间: |
|
查看次数: |
2946 次 |
最近记录: |