私は迅速な言語には新しく、私は解決できない問題があります。すぐに閉鎖内の変数に値を追加
私のアプリを実行した後、私は空の文字列の出力を得る:だからゼロ
を、私の質問は、閉鎖内の変数に値を追加する方法ですか?
私は閉鎖プリント(self.latLong)内の行を追加したときに、私は、座標の出力を得るが、私は後で私のコードと私ドンでその変数を操作する必要があるので、私は、変数の内部でその値を必要とするので「Tは、これが私のコードである閉鎖
内のすべての機能を書きたい:
import UIKit
import CoreLocation
import Firebase
var latLong: String!
override func viewDidLoad() {
super.viewDidLoad()
findCordiante(adress: "Cupertino, California, U.S.")
print(latLong)
}
func findCordiante(adress:String){
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(adress) {
placemarks, error in
if (placemarks != nil){
let placemark = placemarks?.first
let lat = placemark?.location?.coordinate.latitude
let lon = placemark?.location?.coordinate.longitude
self.latLong = String(describing: lat!) + "," + String(describing: lon!)
}else{
//handle no adress
self.latLong = ""
}
}
}
可能な複製(https://stackoverflow.com/questions/39880506/swift-closure-async-order-of-:たとえば、あなた自身の完了ハンドラパターンを採用実行) –