はじめに
現在、SwiftUIを使ったiOSアプリを開発しているのですが、その中で「#unavailable」ディレクティブに出会いました。へーこんなのあるんだね。という気持ちになりましたので、少しメモしておきたいと思います。
このディレクティブは、特定の機能が使えないプラットフォームやバージョンを指定する際に使えます。
利用環境
Xcode 15.3
Swift 5.10
#availableでの書き方
特定のiOSバージョン以上でのみ利用可能な機能や実装を安全に使用するためには、#availableディレクティブを使ってチェックを行います。
例えば、iOS15以上の機能を使いたい場合は次のように書けます。
if #available(iOS 15, *) {
// iOS15以上で実行したいコード
} else {
// iOS15未満で実行したいコード
}
#unavailableを使った書き方
一方、#unavailableディレクティブを使用すると、特定のバージョン未満の場合にのみコードを実行させることができます。
if #unavailable(iOS 15) {
// iOS15未満で実行したいコード
} else {
// iOS15以上で実行したいコード
}
今までは、特定のiOSバージョン未満のみ実行したいコードがあった場合も、#availableディレクティブにelseを付けて利用していたのですが、それもシンプルに書き直す事が出来ました。
最後に
この記事が、Swiftに興味のある方にとって少しの気付きに繋がれば幸いです。