tengo una subclase de NSViewController que carga su vista desde un plumín (con initWithNibName: bundle: y es el propietario del archivo de ese plumín).La mejor manera de configurar NSViewController inicializado con initWithNibName: paquete :?
Necesito hacer algo de inicialización después de cargar la punta y quiero que mi código sea el más compatible:
- En ios: No es el método viewDidLoad hacer que
- En OSX: En leopardo de las nieves, no existe un método como viewDidLoad pero awakeFromNib se llama el propietario del archivo de la punta demasiado
Así que mis preguntas son:
- ¿Se ha llamado también awakeFromNib al propietario del archivo del plumín en Lion?
- Si uso awakeFromNib, ¿tengo que llamar a [super awakeFromNib]? (¿NSViewController implementa awakeFromNib?)
- Si la respuesta 1 es SÍ, ¿es esta una buena solución? :
- (void)initAfterNibLoaded { ... } - (void)viewDidLoad { // Code for ios [self initAfterNibLoaded]; } - (void)awakeFromNib { // Code for osx // Not sure if necessary [super awakeFromNib]; [self initAfterNibLoaded]; }
Si la respuesta es NO 1, es ésta una buena solución? :
- (void)viewDidLoad {
// Initialize after nib loaded
}
#ifndef TARGET_OS_IPHONE
- (void)loadView {
// Call parent method
[super loadView];
// Simulate viewDidLoad method
[self viewDidLoad];
}
#endif
Gracias
Dado que NSViewController no está presente en UIKit, no estoy seguro de por qué está generalizando a través de las plataformas. –
Sí, pero quiero hacer la menor modificación posible en el código si necesito portarlo a iOS. Cambiar la clase padre de NSViewController a UIViewController no es gran cosa, pero prefiero evitar tener muchos errores porque algunos métodos se llaman en ios y no en osx o viceversa. – Johnmph
La respuesta es obviamente jQuery. –