Избегайте дополнительных статических переменных для ключей связанных объектов
При использовании связанных объектов, доступных во время выполнения Objective-C, начиная с iOS 4 и OSX 10.6, необходимо определить ключ для хранения и извлечения объекта во время выполнения.
Типичное использование определяет ключ следующим образом
static char const * const ObjectTagKey = "ObjectTag";
а затем использовать для хранения объекта
objc_setAssociatedObject(self, ObjectTagKey, newObjectTag, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
и получить его
objc_getAssociatedObject(self, ObjectTagKey);
(пример взятhttp://oleb.net/blog/2011/05/faking-ivars-in-objc-categories-with-associative-references/)
Есть ли более чистый способ определения связанного ключа объекта, который не требует объявления дополнительных переменных?