Objective-C Language Ajout d'une propriété avec une catégorie


Exemple

Des propriétés peuvent être ajoutées avec des catégories en utilisant des objets associés, une fonctionnalité du runtime Objective-C.

Notez que la déclaration de propriété de retain, nonatomic correspond au dernier argument de objc_setAssociatedObject . Voir Joindre un objet à un autre objet existant pour obtenir des explications.

#import <objc/runtime.h>

@interface UIViewController (ScreenName)

@property (retain, nonatomic) NSString *screenName;

@end

@implementation UIViewController (ScreenName)

@dynamic screenName;

- (NSString *)screenName {
    return objc_getAssociatedObject(self, @selector(screenName));
}

- (void)setScreenName:(NSString *)screenName {
    objc_setAssociatedObject(self, @selector(screenName), screenName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

@end