Этот код работал до Swift 3. (Curse you 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])
}
}
Какой правильный синтаксис для Swift 3?