Jam*_*sev 7 initialization storyboard xcode4.2 segue
使用Xcode 4.2,在我的应用程序中,视图加载由segue事件触发.首先在视图控制器中调用什么方法?
-(void) viewWillAppear:(BOOL)animated 有效,但它是第一个吗?
初始化发生Storyboard似乎init,在创建对象时,永远不会手动调用方法.
让我澄清一下,在手动创建类的实例时,我们通常[[alloc]init]是第一个.[init]在这种情况下,是第一个要执行的方法,也是各种初始化的好地方.
init当通过segue事件发生类实例化时,方法的等价物是什么?在这种情况下,什么方法应该包含所有初始化逻辑?
Don*_*Lea 14
我认为最好的选择是-(void)awakeFromNib.这种情况只发生一次,而viewWillAppear和viewDidLoad等可能您的初始化之后被调用一次以上.
更新:由于下面让-丹尼斯Muys指出,-(id)initWithCoder:(NSCoder *)decoder对于那些只被调用一次作为一个初始化器更好的选择-(void)awakeFromNib必须被调用一次以上的潜力.
小智 8
根据Apple的View Controller Programming Guide,
在故事板中创建视图控制器时,在Interface Builder中配置的属性将在存档中序列化.稍后,当实例化视图控制器时,此存档将加载到内存中并进行处理.结果是一组对象,其属性与您在Interface Builder中设置的属性相匹配.通过调用视图控制器的
initWithCoder:方法加载存档.然后,在awakeFromNib实现该方法的任何对象上调用该方法.您可以使用此方法执行任何需要已实例化其他对象的配置步骤.
| 归档时间: |
|
| 查看次数: |
13335 次 |
| 最近记录: |