一个相对基础的问题,我不确定如何处理。我通常在viewDidLoad
中设置UIViewController
相关代码。如果控制器有一些用于标签等的属性,那么这就是我初始化并将它们添加到视图的地方。这些属性通常在.m文件中声明,可以被视为伪私有。
然而-如果控制器在其头文件中公开了其中一个属性(比如UILabel
),我发现在设置它时不能依赖它存在。例如:
CustomViewController *controller = [CustomViewController alloc] initWithNibName:nil bundle:nil];
controller.someLabel.text = @"label text goes here";
//then comes the presentation code
我发现我在设置标签文本时太早了 -
viewDidLoad
还没有触发,所以标签是空的。我应该在
init
中创建这个标签,并在 viewDidLoad
中添加它吗?我应该在 init
中做所有的设置吗?或者视情况而定,初始化视图属性?或者根本原因是我不应该有一个控制器暴露一个视图(标签),而使用其他模式?
我正在寻找一种一致的方法来组织我的代码。