MКАпозиция и пожарная база - PullRequest
0 голосов
/ 11 января 2019

Я создал функцию для загрузки местоположения моих драйверов из firebase и размещения аннотаций в их текущих местоположениях, но когда я пытаюсь смоделировать для проверки кода, происходит сбой. Я пробовал как на своем телефоне, так и на симуляторе Xcode. Ниже приведен код, который продолжает сбой моего приложения.

func loadDriverAnnotationsFromFB() {
    DataService.instance.REF_DRIVERS.observeSingleEvent(of: .value, with: { (snapshot) in
        if let driverSnapshot = snapshot.children.allObjects as? [DataSnapshot] {
            for drivers in driverSnapshot {
                if drivers.hasChild("userIsDriver") {
                    if drivers.hasChild("coordinate") {
                        if drivers.childSnapshot(forPath: "isPickupModeEnabled").value as? Bool == true {
                            if let driverDict = drivers.value as? Dictionary<String, AnyObject> {
                                let coordinatArray = driverDict["coordinate"] as! NSArray
                                let driverCoordinate = CLLocationCoordinate2D(latitude: coordinatArray[0] as! CLLocationDegrees, longitude: coordinatArray[1] as! CLLocationDegrees)

                                let driverAnnotation = DriverAnnotation(coordinate: driverCoordinate, withKey: drivers.key)

                                var driverIsVisible: Bool {
                                    return self.mapView.annotations.contains(where: { (annotation) -> Bool in
                                        if let driverAnnotation = annotation as? DriverAnnotation {
                                            if driverAnnotation.key == drivers.key {
                                                driverAnnotation.update(annotationPosition: driverAnnotation, withCoordinate: driverCoordinate)
                                                return true

                                            }



                                        }
                                        return false
                                    })

                                }
                                if !driverIsVisible {
                                    self.mapView.addAnnotation(driverAnnotation)
                                }

                            }

                        }
                    }
                }

            }
        }
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...