13.5 Die Redundanz reduzieren
Die beiden applicationDidXxx:
-Implementierungen in CurrentApp
sind nahezu identisch. In beiden Fällen habe ich die Überprüfung wieder eingefügt, ob der delegate
auf unseren Selektor reagiert. Ich schütze mich so vor der Übergabe eines nicht implementierten Methodennamens.
if ([self.delegate respondsToSelector:@selector(applicationDidXxx:)] ) { self.name = [notification.userInfo objectForKey:@"NSApplicationName"]; [self.delegate applicationDidXxx:self]; }
Wir müssen nur sicherstellen, das Xxx
im einen Fall Launch
und im anderen Terminate
lautet. Wir könnten die notication
an eine Hilfsmethode weitergeben und die aufzurufende Methode basierend auf dem name
der notication
auswählen:
Dictionaries/HelloApplication14/CurrentApp.m ...
Get Cocoa-Programmierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.