#available
有時候為了兼容低版本系統,我們會需要寫兩套方法,根據系統的版本來調用對應方法,一個例子:
1 2 3 4 5 6 |
if #available(iOS 11, *){ print("over iOS 11") } if #available(iOS 10, *){ print("over iOS 10") } |
#available方法也可以同時判斷多個平台的系統版本,其中星號(*)代表支援所有平台(iOS, OSX…)
1 2 3 |
if #available(iOS 10, OSX 10, *) { // 將在iOS 10活著OSX 10以上執行的代碼 } |
@available
如果整個方法或者類都是在某個版本下才能運行可以這樣寫:
1 2 3 4 5 6 7 8 |
@available(iOS 9.0, *) func somethingNew() { // 在iOS 9中執行的代碼 let member = Members() let store = Store() let apple = store.apple ... } |