UIViewController:我在哪里可以把自定义初始化
问题描述:
我很新的iPhone开发。我想知道在哪里为我的UIViewController放置一些实例变量的自定义初始化。UIViewController:我在哪里可以把自定义初始化
我可以使用initWithNibName:bundle:
吗?
谢谢。
答
initWithNibName:bundle:
是指定的初始化程序,应该用于视图控制器的自定义初始化。除了视图控制器控制的视图之外,您应该在创建视图控制器时使用它作为应该运行一次的实例变量代码。
这些意见可能会在应用程序的运行过程中出现。因此,您可能需要从一个视图控制器对象多次初始化视图。如果您未使用视图的笔尖,则应将视图初始化代码放入loadView
,如果您使用的是笔尖,则应放置viewDidLoad
。
答
- (void) viewDidLoad
{
[super viewDidLoad];
//instantiate here...
}
当视图准备就绪时调用此方法。你可以使用它。
编辑
嗯,你的意思是,如果你实例化一个属性一个UIViewController调用,例如myVariable
并且您希望它是,例如,myVarible = @"Hello";
然后您可以在实例上执行此操作,如果它是合成属性。
MyVC *viewController = [[MyVC alloc] initWithNibName:@"MyNibForMyVC" bundle:[NSBundle mainbundle]];
[viewController setMyVariable:@"Hello"];
答
这取决于你的实例变量,我想。
如果实例变量从MyViewController
的客户端可见,请使用RickiG的建议。
如果它是一个辅助实例变量,基本上只能被MyViewController
使用,那么只需制作自己的版本initWithNibName:bundle:
,调用超级版本并在那里初始化实例变量。