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