Ereignisbehandlung
Selektoren
-
Ein
Selektorvom TypSEList eine Referenz auf eine Methodensignatur (ohne Bezug zu einem Objekt, d.h. es wird keine konkrete Methode referenziert). -
Zugriff auf einen Selektor erfolgt mit
@selector(someMethodWithAParameter: anotherParameter:) -
Findet unter anderem Verwendung für Callback-Mechanismen.
-
Prüfen, ob ein Objekt eine Nachricht versteht, d.h. auf den Aufruf des Selektors antworten würde:
BOOL responds = [self respondsToSelector:@selector(someMethodWithParam:)];
-
Manueller Aufruf eines Selektors:
id result = [anObject performSelector: @selector(someMethodWithParam:) withObject: someParamObject];
Actions
-
Zur Ereignisbehandlung wird der Selektor einer Action-Methode für ein Ereignis registriert:
[someButton addTarget:self action:@selector(anAction) forControlEvents:UIControlEventTouchUpInside];
-
Mögliche Signaturen für die Action-Methode:
- (void)anAction - (void)anAction: (id)aSender - (void)anAction: (id)aSender forEvent:(UIEvent *) anEvent
Fehlerbehandlung in Cocoa
-
Häufig muss bei Aufrufen die Adresse eines
NSErrorübergeben werden, um Fehlersituationen zu behandeln, z.B.:NSError *error = nil; // &error = Address of error [SomeObject someMethodWithParam:param error:&error]; if (error) { NSLog(@"Error %@, %@", error, [error userInfo]); // Handle error }

