2017-11-08 9 views
0

文字列をdouble値に変換して、CLLocation座標として使用できるようにしようとしています。私は2つのletステートメントuserLongitudeとuserLatitudeに問題があります。エラーが表示されます:Firebaseから文字列をdouble値に変換する

"Type 'Any' has no subscript members".

私はプログラミングに慣れていませんが、他の回答はうまくいきません。

if let fullName = value["full name"] as? String, let imagePath = value["urlToImage"] as? String, 
    let userLongitude = (snapshot.value!["long"] as String)?.doubleValue, 
    let userLatitude = (snapshot.value!["lat"] as String)?.doubleValue 
+1

重要なコードを省略しました。 [編集]あなたの質問は、 'value'が宣言され、初期化されたコードと同じです。 – rmaddy

+0

あなたのfirebaseデータベースの構造を表示してください – 3stud1ant3

答えて

0

タイプAny to Swift辞書タイプ[String: Any]をキャストする必要があります。

if let fullName = value["full name"] as? String, let imagePath = value["urlToImage"] as? String, 
    let snap = snapshot.value as? [String: Any], 
    let userLongitude = Double(snap["long"] as! String), 
    let userLatitude = Double(snap["lat"] as! String) 
関連する問題