Vermeiden Sie zusätzliche statische Variablen für zugehörige Objektschlüssel
Bei Verwendung von verknüpften Objekten, einer Objective-C-Laufzeitfunktion, die ab iOS 4 und OSX 10.6 verfügbar ist, muss ein Schlüssel zum Speichern und Abrufen des Objekts zur Laufzeit definiert werden.
Die typische Verwendung ist das Definieren des Schlüssels wie folgt
static char const * const ObjectTagKey = "ObjectTag";
und dann verwenden, um das Objekt zu speichern
objc_setAssociatedObject(self, ObjectTagKey, newObjectTag, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
und es abrufen
objc_getAssociatedObject(self, ObjectTagKey);
(Beispiel genommen vonhttp://oleb.net/blog/2011/05/faking-ivars-in-objc-categories-with-associative-references/)
Gibt es eine sauberere Möglichkeit, den zugehörigen Objektschlüssel zu definieren, bei der keine zusätzlichen Variablen deklariert werden?