开发的过程中我们有时候需要兼容不同的系统版本,但是有些新的类是新系统才有的。那么在兼容新旧系统的时候有些细节需要注意:
1、系统原有类新增属性,判断
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = false
}
2、系统原没有的类,某个高版本新增 例如:PDFKit、ARKit....
①局部变量声明
if #available(iOS 11.0, *) {
} else {
}
②成员变量声明
@available(iOS 11.0, *)
lazy var doc :PDFDocument? = { return nil }()
其中主要的是新增类,定义成员变量时,这是我新遇到的问题,系统总是提示 Add @available attribute to enclosing class 如果这样那么就无法适配低版本了。
网友评论