iOS Objective-C Associated Objects Basic Associated Object Example

30% OFF - 9th Anniversary discount on Entity Framework Extensions until December 15 with code: ZZZANNIVERSARY9


Assume we need to add an NSString object to SomeClass (we cant subclass).

In this example we not only create an associated object but also wrap it in a computed property in a category for extra neatness

#import <objc/runtime.h>

@interface SomeClass (MyCategory)
// This is the property wrapping the associated object. below we implement the setter and getter which actually utilize the object association
@property (nonatomic, retain) NSString *associated;

@implementation SomeClass (MyCategory)

- (void)setAssociated:(NSString *)object {
    objc_setAssociatedObject(self, @selector(associated), object,

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

Now it would be as easy as this to use the property

SomeClass *instance = [SomeClass alloc] init];
instance.associated = @"this property is an associated object under the hood";

Got any iOS Question?