24.10 Lösung: Blöcke in Callbacks nutzen

Sie können die response:-Methode eliminieren und die registerWithout-Blocks-Methode durch folgende ersetzen:

Blocks/Callback2/CallbackAppDelegate.m

   -(void)registerWithBlocks {
        [[NSNotificationCenter defaultCenter]
                        addObserverForName:nil
                                    object:nil
                                     queue:nil
▸                           usingBlock:^(NSNotification *notification) {
▸                           NSLog(@"Received: %@.", [notification name]);
▸                           }];
   }

Der Rumpf des Blocks ist der Rumpf der alten response:-Methode. Der Klarheit halber habe ich den Namen der NSNotication von arg1 in notication geändert. Ein Vorteil der Verwendung von Blöcken liegt darin, dass Sie das, was getan werden muss, dort ausdrücken, wo es getan werden muss: Ihre Logik verteilt sich nicht mehr überall.

Klicken Sie auf Build & Run ...

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.