Избегайте дополнительных статических переменных для ключей связанных объектов

При использовании связанных объектов, доступных во время выполнения 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/)

Есть ли более чистый способ определения связанного ключа объекта, который не требует объявления дополнительных переменных?

Ответы на вопрос(3)

Ваш ответ на вопрос