2016-11-12 12 views
0

Ich habe dict von Orten mit Koordinaten und Namen in meinem Wörterbuch. Ich verwende den Benutzerstandort, um festzustellen, ob sich der Benutzer an einem der Orte in meinem Dict befindet. Wörterbuch sieht so aus var loc:[String: [Double]] = ["The Empire State Building":[40.748440, -73.985672]].Swift Erkennung des Ortsnamens aus dem dict

Was ich tun möchte, ist festzustellen, ob Benutzer an einem der Standorte ist. Gibt es einen schnelleren Weg als durch das ganze Diktat zu kreisen und dasjenige zu entdecken, das die geringste Abweichung vom tatsächlichen Lat hat und lange im Diktat ist?

+0

Bitte zeigen Sie, wie das Wörterbuch definiert ist. Es sieht aus wie '[String: [Double]]', stimmt das? –

+0

Nein, es ist '[String: [Double, Double]]' zum Beispiel '[" The Empire State Building ": [40.748440, -73.985672]]' – user6541

+0

Es gibt nichts wie das '[String: [Double, Double]] 'in Swift –

Antwort

0

Um den nächsten Ort zu finden, müssen Sie jedes Element in Ihrer Liste auswerten. Es gibt also keinen schnelleren Weg, als die gesamte Liste der Elemente zu durchlaufen.

Es sei denn, Sie verwalten Ihre Orte sortiert (oder indiziert), aber ich weiß nicht, ob dies in Ihrem Szenario möglich ist.

Verwandte Themen