He escrito una subclase UITabBarController
(llamada MainViewController
) y he agregado algunas variables de instancia, específicamente un lugar de tipo Venue. Cada pestaña del MainViewController
necesita acceder a la variable de sede del MainViewController
. En la primera pestaña, una subclase UIViewController
nombrado HomeViewController
, escribí mi método viewDidLoad
y traté de salida a NSLog con tanto ...Acceso a las propiedades del controlador de vista principal (personalizado)
NSLog(@"%@", self.parentViewController.venue.name);
y
NSLog(@"%@", self.tabBarController.venue.name);
Pero XCode da el error
error: request for member 'venue' in something not a structure or union
Puedo acceder a la propiedad del lugar desde dentro de MainViewController
bien, así que he descartado un error allí. El simulador de iPhone ve ambos self.parentViewController
y self.tabBarController
como una instancia de MainViewController
. La línea ...
NSLog(@"%@", self.tabBarController);
salidas ...
2009-06-05 17:54:46.502 Venue[29729:20b] <MainViewController: 0x536600>
Ya que es visto como un ejemplo MainViewController
, no creo que el uso de la fundición ayudaría. ¿Es mi única otra opción inicializar el HomeViewController
con una copia del lugar o simplemente estoy haciendo algo completamente incorrecto con 'self.parentViewController.venue.name
'? Gracias, Rob
¿Ha configurado correctamente el lugar y el nombre como propiedades? es decir, accedores KVC que cumplen con los requisitos o utiliza @property y @synthesize? – Abizern