2017-10-12 3 views
0

の下に、elseステートメントが使用されなかった後に緯度と経度を警告します。もし辞書に経度の値が含まれていなければ緯度はlet longitude = Double(151.209900)とし、latitude = Double(-33.865143)としますか?その範囲は、私が代わりに、このようにそれを行うだろうと思いますguard値がセットdoubleにセットされていない場合、ガードletステートメント

に制限されているためか、私は

guard let dictionary = snapshot.value as? [String : AnyObject] else { return } 
guard let latitude = dictionary["Latitude"] as? String else { 
    let latitude = Double(-33.865143)    
    return 
} 
guard let longitude = dictionary["Longitude"] as? String else { 
    let longitude = Double(151.209900) 
    return 
}  
guard let latDouble = Double(latitude) else { return } 
guard let longDouble = Double(longitude) else { return } 
+0

関数にブレークポイントを設定して、辞書にキー「Latitude」のエントリがない場合の動作を確認します。 - それはあなたが意図したものですか? –

答えて

3

緯度と経度のために設定した値が使用されることはありませんガードしましょう声明と間違って何かをやっています:

guard let dictionary = snapshot.value as? [String : AnyObject] else { return } 


let latitude = Double(dictionary["Latitude"] as? String ?? "-33.865143") 
let longitude = Double(dictionary["Longitude"] as? String ?? "151.209900") 
関連する問題