Art*_*kov 25 iphone xcode objective-c ios
我安装了Xcode 8.0 beta(8S128d).现在我有一些警告:
Method possibly missing a [super awakeFromNib] call
Run Code Online (Sandbox Code Playgroud)
在所有awakeFromNib方法中.在这种情况下,我需要调用这个超类的方法?
iHS*_*iHS 36
按照Apple:
您必须调用awakeFromNib的超级实现,以便为父类提供执行所需的任何其他初始化的机会.虽然此方法的默认实现不执行任何操作,但许多UIKit类提供非空实现.您可以在自己的awakeFromNib方法中随时调用超级实现.
在Xcode 8之前,没有严格的编译器要求,无论Apple如何用Xcode8改变它,如果在awakeFromNib中缺少对[super awakeFromNib](或super.awakeFromNib()swift)的调用,编译器会将其视为错误.
所以Swift版本看起来像这样:
func awakeFromNib() {
super.awakeFromNib()
... your magical code ...
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*ord 18
您有效地覆盖了代码中的'awakeFromNib'方法.NSView或者你的superview也实现了awakeFromNib - 在执行任何代码之前,你应该在实现开始时调用super,以确保NSView可以事先正确设置.
- (void)awakeFromNib
{
[super awakeFromNib];
... your code ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11462 次 |
| 最近记录: |