Video: ?POWER Tutorial: WordPress Widgets Hinzufügen, Bearbeiten & Erklärung - Anleitung 2019 (Deutsch) 2024
Wenn Trip ein Ereignisobjekt in Ihrer iOS-App verwenden soll, Sie sollten die Klasse besser erstellen. Dies ist ein gutes Beispiel dafür, wie vielseitig Programmierer in der App-Entwicklung sein können. Führen Sie die folgenden Schritte aus:
-
Wählen Sie im Projektnavigator die Gruppe Modellklassen und klicken Sie entweder mit der rechten Maustaste auf die Auswahl und wählen Sie im angezeigten Menü die Option Neue Datei oder im Hauptmenü Datei → Neu → Datei (oder drücken Sie ⌘ + N).
Welche Methode auch immer Sie wählen, Sie werden im Dialogfeld Neue Datei begrüßt.
-
Wählen Sie in der linken Spalte des Dialogfelds Cocoa Touch unter der Überschrift iOS aus, wählen Sie im oberen rechten Bereich die Vorlage Objective-C-Klasse aus und klicken Sie dann auf Weiter.
Sie werden ein Dialogfeld sehen, in dem Sie die Optionen für Ihre Datei auswählen können.
-
Geben Sie Ereignisse in das Feld Klasse ein.
-
Wählen Sie NSObject im Feld Subclass Of aus oder geben Sie es ein, und klicken Sie dann auf Next.
Die Kontrollkästchen "iPad" und "Mit XIB für Benutzeroberfläche" sind abgeblendet, da sie hier nicht relevant sind. - Ereignisse werden von NSObject abgeleitet und nicht von einem Typ eines Ansichtscontrollers.
-
Klicken Sie im angezeigten Blatt Speichern auf Erstellen.
Die Events-Klasse ist das Model-Objekt, das die Ereignisse verwaltet. Sie können sich vorstellen, dass die Event-Klasse erweitert werden könnte, um noch mehr zu erledigen - beispielsweise die Rückgabe des Standorts, die Verarbeitung von Ereignissen aus mehreren Quellen oder sogar das Hinzufügen eigener Ereignisse durch einen Benutzer.
Um die Events-Klasse hinzuzufügen, fügen Sie den fett formatierten Code zu Events hinzu. h.
@interface Ereignisse: NSObject - (id) initWithDestinationIndex: (NSUInteger) destinationIndex; - (NSUInteger) numberOfEvents; - (NSString *) getEvent: (NSUInteger) Index; -d
Dieser Code verfügt über drei Methoden: eine Initialisierungsmethode und zwei Methoden zum Verarbeiten der Trip-Anforderungen.
Als nächstes müssen Sie eine Eigenschaft hinzufügen. Fügen Sie den Code fett zu Ereignissen hinzu. m, um eine Klassenerweiterung mit einer Eigenschaft zu erstellen. (Die Basis-Klassenerweiterung ohne die Eigenschaft ist möglicherweise bereits in Ihrem Projekt enthalten.)
Wie Sie sehen, gibt es eine Initialisierungsmethode (die beim Erstellen des Objekts verwendet wird). Fügen Sie den Code zu Ereignissen hinzu. m um die Initialisierungsmethode initWIthDestinationIndex: zu implementieren.
- (id) initWithDestinationIndex: (NSUInteger) destinationIndex {self = [super init]; if (selbst) {NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "Ziele" vonTyp: @ "plist"]; NSDictionary * destinations = [NSDictionary dictionaryWithContentsOfFile: filePath]; NSArray * destinationsArray = Ziele [@ "DestinationData"]; NSDictionary * data = ZieleArray [destinationIndex]; selbst.events = [NSMutableArray arrayWithArray: data [@ "Events"]];} return self;}
Diese Methode ruft an dieser Stelle das URL-Array für die HTML-Seiten ab, die Sie in der Zielpliste erstellt haben. Es platziert diese URLs in einem Array, das Sie erstellen - für eine effizientere Suche später.
Der EventsController muss, wie Sie sehen werden, die Anzahl der Ereignisse und die Ereignisinformationen kennen. Sie haben die Methoden zu Trip hinzugefügt, werden diese Informationen aber tatsächlich von Events erhalten. Fügen Sie den Code zu Ereignissen hinzu. m Implementieren der Methode, die die Anzahl der Ereignisse zurückgibt.
- (NSUInteger) numberOfEvents {return [selbst. Anzahl der Ereignisse];}
Um die Anzahl der Ereignisse zu ermitteln, geben Sie die Anzahl der Arrays zurück.
Der EventsController muss außerdem eine Liste der Ereignis-URLs haben. Fügen Sie den Code in Listing 16-10 zu Events hinzu. m um diese Methode zu implementieren.
- (NSString *) getEvent: (NSUInteger) index {Rückgabe selbst. events [index];}
Um ein Event zurückzugeben, geben Sie die URL basierend auf dem Index in das Array zurück. Das ist sinnvoller, wenn Sie den Code von EventsController und EventPageController durchlaufen.