6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Swift】#availableと#unavailable

Last updated at Posted at 2024-04-03

はじめに

現在、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に興味のある方にとって少しの気付きに繋がれば幸いです。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?