相关疑难解决方法(0)

Swift 3:无法将'NSMutableDictionary'类型的值转换为预期的参数类型'[AnyHashable:Any]!'

这段代码在Swift 3之前运行.(诅咒Swift 3!)

现在它显示此行的错误Flurry.logEvent(eventName, withParameters: userData!):

无法将'NSMutableDictionary'类型的值转换为预期的参数类型'[AnyHashable:Any]!'

转换userData![AnyHashable : Any]产生此错误:

无法将'NSMutableDictionary'类型的值转换为强制中的'[AnyHashable:Any]'类型

func logEvent(_ eventName: String, userData: NSMutableDictionary?) {
    // Use <userData> or create new one?
    var userData = userData
    if userData == nil {
        userData = NSMutableDictionary()
    }

    // Set base properties
    userData!.setObject(gUser.tofus.count, forKey: "Num Tofus" as NSCopying)
    userData!.setObject(gUser.getLifetimeTofus(), forKey: "Num Lifetime Tofus" as NSCopying)

    // Call Flurry
    DispatchQueue.main.async {
        Flurry.logEvent(eventName, withParameters: userData! as [AnyHashable:Any])
    }
}
Run Code Online (Sandbox Code Playgroud)

什么是Swift 3的正确语法?

swift swift3

18
推荐指数
1
解决办法
3万
查看次数

标签 统计

swift ×1

swift3 ×1