2017-02-18 9 views
0

über ein seltsames Problem. Ich drucke einen Wert in einer Antwort wie folgt. In der ersten Druckanweisung wird der korrekte Wert z.B. Optional(3.0) Wenn ich diesen Wert jedoch in einen Float-Wert umwandle, wird er null. Die zweite Druckanweisung zeigt null an. Keine Ahnung, was ich falsch mache. Irgendwelche Hinweise für mich? Wörterbuch wie so userInfoDictionary: [String: Any]?Wert auf Float return null

print("The rating is \(response.userInfoDictionary?[RequestedUserConstant.userRatingKey])") 
let userRating = response.userInfoDictionary?[RequestedUserConstant.userRatingKey] as? Float 
print("The rating is now \(tutorRating)") 
+0

versuchen float ("Ihr Wert") –

+0

Einmal mit 'as? String 'anstelle von' als? Float'. –

+0

@NiravD auch nil ... – KexAri

Antwort

0

Statt mit dem as? Operator Gießen versuchen es zu tun wie folgt aus: Float(response.userInfoDictionary?[RequestedUserConstant.userRatingKey])

+0

'Float' hat keine Init, die' Any' als Argument akzeptiert. –

0

Versuchen Sie folgendes:

let userRating = response.userInfoDictionary?[RequestedUserConstant.userRatingKey].floatValue 
+0

** Fehler: Wert des Typs 'Any?' hat kein Mitglied 'floatValue' ** – OOPer

0

zwei mögliche Probleme:

der ersten Einer ist, Sie weisen Ihre userRating aber dann die verschiedenen Variablen w hich name ist tutorRating.

Die zweite ist, es ist kein Float, wie @ Hamish so sagt.