Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Die grafische Oberfläche

Öffnen Sie den Interface Builder durch einen Doppelklick auf die Datei MainMenu.xib im Project Navigator. Falls das Programmfenster nicht automatisch angezeigt wird, sollten Sie anschließend den Eintrag im Outline View auswählen. Bisher ist das Fenster ohne Inhalt, nur der Projektname GeoConverter wird schon in der Titelleiste angezeigt.
stacks_image_1FA2F075-5016-4DB5-BEC0-A57A0A8C3BD6
Entwerfen Sie mit Steuerelementen aus der Object Library ein Fenster, das Ihren Ansprüchen genügt, ähnlich der folgenden Abbildung. Sie benötigen fünf Elemente vom Typ NSTextField, drei für die Eingaben und zwei für die Ausgaben. Ziehen Sie die Felder breiter, denn die Rechenergebnisse können unter Umständen viele Nachkommastellen aufweisen. Ausserdem benötigen Sie zwei Push Button. Verwenden Sie Label und Linien, um den optischen Gesamteindruck aufzuwerten.
stacks_image_B9FA6799-5F10-4677-90BF-31FECA6F1451
Im letzten Schritt müssen die Anschlüsse des Controllers mit den Steuerelementen der grafische Oberfläche verbunden werden. Markieren Sie das Objekt App Delegate in der Seitenleiste und öffnen Sie den Inspector in der Bindings-Ansicht. Dort finden wir jetzt alle IBAction und IBOutlet, die wir zuvor im Controller angelegt haben.
stacks_image_CA813B5F-C841-4D62-9A01-AE4184F2A281
Verbinden Sie die Anschlüssen des Controllers mit den zugehörigen Objekten der grafische Oberfläche, indem sie in den kleinen Kreis neben den Namen klicken und von dort, bei gehaltener Maustaste, Linien zu den Steuerelementen ziehen. Eine Verbindung wird angelegt, sobald Sie die Maustaste loslassen.
stacks_image_32453FD8-69A3-4033-819F-BDF96C7084C1
Jetzt ist die Anwendung einsatzbereit und sollte getestet werden. Probieren Sie beispielsweise die Koordinaten von Frankfurt am Main:
50° 06' 44' Nord 8° 40' 55' Ost
Die Koordinaten deutscher Städte brauchen Sie nicht in Kleinarbeit suchen, es gibt sie in frei verfügbare Datenbanken.
http://opengeodb.hoppe-media.com
stacks_image_27A1A999-F3FE-4A0A-BA07-4EE3C8BBD45B