UIViewController:我在哪里可以进行自定义初始化

时间:2010-06-09 13:18:51

标签: iphone objective-c uiviewcontroller initialization

我是iPhone开发的新手。我想知道在哪里为我的UIViewController进行一些实例变量的自定义初始化。

我可以使用initWithNibName:bundle:吗?

感谢。

3 个答案:

答案 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的版本,然后在那里初始化你的实例变量。