13.6 Ein Dictionary zur Flusskontrolle nutzen

Sehen wir uns die if-Anweisung noch einmal an:

Dictionaries/HelloApplication14/CurrentApp.m

if (notification.name == NSWorkspaceDidLaunchApplicationNotification) {
    methodName = @selector(applicationDidLaunch:);
} else {
    methodName = @selector(applicationDidTerminate:);
}

Wir wollen ein Dictionary aufbauen, bei dem die Notifikationsnamen die Schlüssel und die Methodennamen die Werte bilden. Wir können die if-Anweisung dann wie folgt ersetzen:

Dictionaries/HelloApplication15/CurrentApp.m

SEL methodName = NSSelectorFromString(
                    [delegateMethods objectForKey:[notification name]]);

Wir müssen keine Entscheidung treffen, sondern ziehen uns den Methodennamen einfach aus dem Dictionary heraus.

Wir müssen eine Instanzvariable ...

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.