升级XCode 8 beta
XCode 8 Beta使用了iOS 10 SDK为默认的SDK;目前的工程,使用XCode 8 Beta编译时,提示了一些警告信息。
Method possibly missing a [super awakeFromNib] call
使用XCode 7时并没有报出这样的警告,其实故名思议,需要在awakeFromNib
方法里面调用其父类的方法。
关于这点,Apple的官方文档中也有说明:
You must call the super implementation of awakeFromNib to give parent classes the opportunity to perform any additional initialization they require. Although the default implementation of this method does nothing, many UIKit classes provide non-empty implementations. You may call the super implementation at any point during your own awakeFromNib method.
CAAnimationDelegate
CAAnimationDelegate
在iOS 9 SDK及之前的SDK中,作为NSObject的Category:
CAAnimationDelegate
在iOS 10 SDK中作为Protocol需要被类实现:
如果要兼容XCode 7 和XCode 8,则可以通过判断SDK版本来实现:
CALayerDelegate
与前面提到的CAAnimationDelegate
类似,CALayerDelegate
在iOS 9 SDK及之前的SDK中,作为NSObject的Category:
iOS 10 SDK中作为Protocol需要被类实现:
如果要兼容XCode 7 和XCode 8,则可以通过判断SDK版本来实现,同CAAnimationDelegate
。