Domanda

di NSObject

Apple ha deprecato metodo poseAsClass: per OS X v10.5 e sopra. C'è un altro modo per rendere il lavoro di classe in posa?

È stato utile?

Soluzione

Non credo che ci sia un a livello di classe equivalente, ma è possibile scambiare l'attuazione di due metodi, che spesso era lo scopo di utilizzare poseAsClass: (naturalmente, è possibile scambiare più di un metodo se è necessario eseguire l'override più metodi in una classe). Si vuole method_exchangeImplementations 2.0 nel runtime Objective-C (#import objc/runtime.h). Una parola di avvertimento:. Dopo la chiamata method_exchangeImplementations, chiamando il metodo 'nuova' chiama in realtà la definizione di un metodo originale

Altri suggerimenti

Lap Cat dà un'alternativa.

Che cosa stai cercando di fare? Ci sono spesso modi per aggirare in posa. Ammetto, però, che a volte è l'unico modo:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top