Да, но вы должны иметь один и тот же ключ повсюду.Поскольку использование адреса некоторой статической переменной действительно является рекомендуемым способом, я предлагаю выделить один метод для получения ссылки на связанный объект (создание при необходимости).Я использую следующее:
- (NSMutableArray*) getOrCreateArray
{
static const char key;
NSMutableArray* arr = objc_getAssociatedObject(self, &key);
if (!arr)
{
arr = [NSMutableArray array];
objc_setAssociatedObject(self, &key, arr, OBJC_ASSOCIATION_RETAIN);
}
return arr;
}
- (void) someMethod
{
id something = // ....
[[self getOrCreateArray] addObject: something];
}