2016-03-19 12 views
0

Ich möchte eine benutzerdefinierte Funktion schreiben, die in der gesamten Swift-Anwendung verfügbar sein sollte. Wenn ich eine Erweiterung verwende, muss ich eine bestimmte Klasse erweitern. Was aber, wenn ich eine benutzerdefinierte Funktion schreiben möchte, die in allen Klassen verfügbar sein soll? Wo muss ich es hinstellen?Swift Custom Function Verfügbarkeit innerhalb der Erweiterung

Dies ist die Funktion, die ich zur Verfügung stellen möchten:

extension MapViewController { 
    func calculateDistanceToAED(latitude latitude: Double, longitude: Double) -> CLLocationDistance { 
     let currentLocation: CLLocation = self.currentLocation 
     let aedLocation: CLLocation = CLLocation(latitude: latitude, longitude: longitude) 

     return currentLocation.distanceFromLocation(aedLocation) 
    } 
} 
+0

Könnten Sie weitere Einzelheiten zu der Funktion angeben? –

+0

gerade hinzugefügt, um die Frage – sesc360

+0

Ich würde argumentieren, dass Sie dies überhaupt nicht tun müssen. Es gibt Antworten hier, die Ihnen sagen, wie Sie tun können, was Sie tun möchten, aber ich würde nicht zulassen, dass sie einen Code-Review bestehen. – nhgrif

Antwort

2

Was Sie wollen, nur eine globale Funktion I glauben:

func calculateDistanceToAED(currentLocation:CLLocation, latitude: Double, longitude: Double) -> CLLocationDistance { 
    let aedLocation: CLLocation = CLLocation(latitude: latitude, longitude: longitude) 

    return currentLocation.distanceFromLocation(aedLocation) 
} 
-1

Sie globale Funktionen in Swift wie verwenden können -

Um GlobalFunction anrufen

let currentLocation = CLLocation() 
    MyGolobleFunctions.calculateDistanceToAED(latitude: 75.22, longitude: 73.22, currentLocation: currentLocation) 
+0

Wie wäre der Ansatz, eine globale Funktion zu erstellen? – sesc360

+0

Sie Funktion ist abhängig von der Klasseneigenschaft self.currentLocation so kann es nicht globale Funktion sein. Meiner Meinung nach sind globale Funktionen jene Funktionen, die nur Ergebnisse nur für den Parameter give verarbeiten oder berechnen. –

+0

Ich habe den Ansatz geschrieben, um eine globale Funktion zu erstellen. –

Verwandte Themen