6.14 Lösung: Erzeugen und Nutzen eines Bequemlichkeitskonstruktors

Wir beginnen mit der Deklaration der Klassenmethode in Greeter.h:

Memory/Flashlight11/Classes/Greeter.h

+(id) greeterWithName:(NSString *) newName;

Wir implementieren die Methode, indem wir eine Autorelease-Instanz der Greeter-Klasse erzeugen und zurückgeben:

Memory/Flashlight11/Classes/Greeter.m

+(id) greeterWithName:(NSString *) newName {
    return [[[Greeter alloc] initWithName:newName] autorelease];
}

Die hervorgehobene Zeile zeigt, wie die Bequemlichkeitsmethode aufgerufen wird. Denken Sie daran, dass es eine Klassenmethode ist, dass Sie sie also für Greeter aufrufen und nicht für eine Instanz.

Memory/Flashlight11/Classes/FlashlightAppDelegate.m

   #import "FlashlightAppDelegate.h"
   #import ...

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.