我有一个视图控制器,其属性决定了它的行为。这些是由它的父级在 中设置的prepareForSegue
。
这在我的程序中引起的潜在错误是不能保证有问题的父级设置属性,所以我想要一个默认值。在研究中,我现在了解到 Objective C 中的属性没有默认值。这给我留下了以下选择:
viewDidLoad
在子视图的方法中设置属性的默认值。但是,经过调查,在父级之后viewDidLoad
调用- 所以当父级实际设置属性时,我会覆盖父级的值。prepareForSegue
- 然后我想我可以
(id) init
用来初始化这些值,但是,至少在使用情节提要时,根本不会调用这个方法!
我可能有一个解决方法,对象将初始化为默认值,但在这种情况下,我只想传入一个 BOOL。而且由于即使没有正确初始化布尔值也会有一些值,所以我无法测试它是否为非零。
prepareForSegue
在父视图控制器之前是否有机会在子视图控制器中初始化值?