Swift APIのavailabilityチェックはextensionでもできた〜

November 21, 2015

状況に応じて #available@available を使うことで、OSのバージョンによって処理を分けることができます。が、今日、コードを書いていてこれがextension単位でも効くことを知りました。

ドキュメントにも載ってる頻出の使い方

guard #available(iOS 8.0, OSX 10.10, *) else { return }

@available(iOS 8.0, OSX 10.10, *) func useShinyNewFeature() { // … }

extensionでも使える

// MARK:- // MARK: SHORTCUT @available(iOS 9.0, *) extension AppDelegate { func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) { … } }

これはちょっとうれしかった。

参考


Profile picture

Written by morizotter who lives and works in Tokyo building useful things. You should follow them on Twitter