ユーザーの現在の場所からさまざまな場所までの距離を計算し、これらの計算を計算配列に入れたかったのです。したがって、この配列を並べ替えて、最も近い場所を見つけることができます。最後に、ユーザー エクスペリエンスのためにテーブル ビューの上部に最も近い場所を表示したいと思います。しかし、各計算を「計算配列」に正しく追加できません。コードの最後にある print() で取得した出力を参照してください。私はどこで間違っていますか?助けてくれてありがとう。
override func viewDidLoad() {
super.viewDidLoad()
visualEffect.isHidden = true
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
Calculate()
}
var closestDistanceIndex:Int = 0
func Calculate() {
// anlık lokasyona en yakın giriş hesaplaması
var calculations:[Double] = []
var distance:Double = 0.0
var i = 1
while i < (giselerGiris.count)
{
print("index \(i)")
let locValue:CLLocationCoordinate2D = manager.location!.coordinate
let source1 = MKMapItem( placemark: MKPlacemark(
coordinate: CLLocationCoordinate2DMake(locValue.latitude, locValue.longitude),
addressDictionary: nil))
let destination1 = MKMapItem(placemark: MKPlacemark(
coordinate: CLLocationCoordinate2DMake(girisLatitude[i], girisLongtitude[i]),
addressDictionary: nil))
let directionsRequest = MKDirectionsRequest()
directionsRequest.source = source1
directionsRequest.destination = destination1
directionsRequest.transportType = .automobile
let directions = MKDirections(request: directionsRequest)
directions.calculate { (response, error) -> Void in
print("hata \(String(describing: error))")
distance = (response!.routes.first?.distance)!
print("distance is \(distance)")
calculations.append(distance)
}
print("distance \(i): \(distance)")
i += 1
}
let closestDistance = calculations.min()!
print("closest distance is \(closestDistance)")
closestDistanceIndex = calculations.index(of: closestDistance)!
print("closest distance index is \(closestDistanceIndex)")
}
エラーを下回っています
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
この列に
let closestDistance = calculations.min()!
ここに出力があります
index 1
distance 1: 0.0
index 2
distance 2: 0.0
index 3
distance 3: 0.0
index 4
distance 4: 0.0
index 5
distance 5: 0.0
index 6
distance 6: 0.0
index 7
distance 7: 0.0
index 8
distance 8: 0.0
index 9
distance 9: 0.0
index 10
distance 10: 0.0
index 11
distance 11: 0.0
index 12
distance 12: 0.0
index 13
distance 13: 0.0
index 14
distance 14: 0.0
index 15
distance 15: 0.0
index 16
distance 16: 0.0
index 17
distance 17: 0.0
index 18
distance 18: 0.0
index 19
distance 19: 0.0
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)