経緯度から住所を求める関数を求める関数を作成しました
これを実行したときのコンソールも下に乗せます。
コンソール内を見る限り、最後にあるprintがif内にあるprintより先に行われているようにみえます。
仮にif内に最初に入ってlocnameに代入が行われたとして、locnameの中身が消えるのでしょうか?そうならば、C言語のように変数引き渡しのみがおこなわれて何も帰って来ないということでしょうか。
それなら、ポインタを使うべきですか?
swift
1func geocode(taploc:CLLocation)-> String { 2 let geocoder = CLGeocoder() 3 var locname: String = "名無し" 4 5 geocoder.reverseGeocodeLocation(taploc) { (placemarks, error) in 6 if let placemarks = placemarks { 7 if let pm = placemarks.first { 8 locname=pm.name! 9 print("name: " + locname) 10 } 11 } 12 } 13 print(locname) 14 return locname 15 }
コンソール(京都駅の経緯度を与えた時のものです)
名無し
name: 京都
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/18 18:29