我是iPhone开发的新手。我想知道在哪里为我的UIViewController进行一些实例变量的自定义初始化。
我可以使用initWithNibName:bundle:
吗?
感谢。
答案 0 :(得分:1)
initWithNibName:bundle:
是指定的初始值设定项,应该用于视图控制器的自定义初始化。在创建视图控制器时,应将此用作应运行一次的实例变量代码,但此视图控制器控制的视图除外。
视图可能会在应用程序运行中出现。因此,您可能希望从一个视图控制器对象多次初始化视图。如果您没有使用nib作为视图,则应将视图初始化代码放在loadView
中;如果使用nib,则应放置viewDidLoad
。
答案 1 :(得分:0)
- (void) viewDidLoad
{
[super viewDidLoad];
//instantiate here...
}
视图准备就绪时调用此方法。你可以使用它。
修改强>
嗯,你的意思是你实例化一个名为UIViewController的属性,例如myVariable
,你希望它是,myVarible = @"Hello";
那么你可以在实例上做它,如果它是一个合成属性。
MyVC *viewController = [[MyVC alloc] initWithNibName:@"MyNibForMyVC" bundle:[NSBundle mainbundle]];
[viewController setMyVariable:@"Hello"];
答案 2 :(得分:0)
这取决于我想的实例变量。
如果MyViewController
的客户端可以看到实例变量,那么请使用RickiG的建议。
如果它是一个助手实例变量,基本上只由MyViewController
使用,那么只需创建自己的initWithNibName:bundle:
版本调用super的版本,然后在那里初始化你的实例变量。