5.8 Lösung: Eigenschaften hinzufügen

Die eigentliche Arbeit erfolgt in der Header-Datei. Sie müssen die drei Instanzvariablen und dann die Eigenschaften wie folgt deklarieren:

Properties/HelloWorld15/Greeter.h

#import <Cocoa/Cocoa.h>

@interface Greeter : NSObject {
    NSString *name;
    NSInteger age;
    Greeter *buddy;
    BOOL upperCase;
}
-(NSString *) greeting;
-(id) initWithName:(NSString *)name;
@property(copy) NSString *name;
@property(assign, readonly) NSInteger age;
@property(retain) Greeter *buddy;
@property(assign, getter=isUpperCase) BOOL upperCase;

@end

Die name-Variable ist ein NSString, der NSCopying beherrscht, sodass wir das copy-Attribut verwenden.

Sowohl age als auch upperCase sind Primitive, weshalb wir assign verwenden. Da wir für age nur ...

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.