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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage