Frage

Apple hat veraltet NSObject der poseAsClass: Methode für OS X v10.5 und höher. Gibt es eine andere Art und Weise Klasse posiert Arbeit zu machen?

War es hilfreich?

Lösung

Ich glaube nicht, gibt es eine Klasse-Ebene gleichwertig, aber Sie können die Implementierung von zwei Methoden austauschen, die oft war der Zweck poseAsClass: die Verwendung von (natürlich können Sie mehr als eine Methode austauschen, wenn Sie außer Kraft setzen müssen mehrere Methoden in einer Klasse). Sie wollen method_exchangeImplementations in der Objective-C 2.0 Runtime (#import objc/runtime.h). Ein Wort der Warnung:. Nach method_exchangeImplementations, ruft die ‚neue‘ Methode tatsächlich ruft die ursprüngliche Methode Definition Aufruf

Andere Tipps

Lap Cat gibt eine Alternative.

Was wollen Sie tun? Oft gibt es Möglichkeiten, um posieren. Ich gebe zu, aber, dass es manchmal die einzige Möglichkeit ist:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top