iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

【Swift入門】静的変数(static変数)とは?定義方法と使い方を実例で解説

Swiftにおける静的変数(static変数)とは?

静的変数の具体的な使い方を確認する前に、まずは「Swiftにおける静的変数とは何か」という基本概念を理解しておきましょう。

静的変数の基本概念

静的変数とは、クラスのすべてのインスタンス(オブジェクト)間で値が共有される変数のことです。変数をstaticとして宣言すると、その変数は個々のオブジェクトではなく、クラスそのものに紐づけられます。また、静的変数のためのメモリは、クラスがロードされるタイミングで一度だけ確保されます。

図でイメージすると分かりやすいでしょう。Sampleクラスから生成された2つのオブジェクトs1とs2があるとします。s1とs2はそれぞれ独自の変数「a」を個別に保持していますが、変数「b」に関しては両者が共通の1つの値を共有しています。この共有されている「b」こそが静的変数です。

静的変数の宣言方法

静的変数を作成するのは簡単です。変数宣言の先頭にstaticキーワードを付けるだけでOKです。

static let/変数名: 型(省略可)= 値

static let num1: Int = 1
static var name1 = "Akash"

ここで重要なポイントとして、letで宣言すれば値を後から変更できない静的定数になり、varで宣言すれば値を変更できる静的変数になります。

Playgroundで動作を確認しよう

ここからは、実際にXcodeのPlaygroundを使って静的変数の挙動を確認していきます。

Xcodeを起動し、「File」→「New」→「Playground」を選択して、プロジェクト名を「staticvariables」として保存してください。

念のため整理しておくと、通常の変数をletで宣言すると値を変更できない定数となり、varで宣言すると値を変更可能な変数となります。このルールはstaticと組み合わせた場合も同様に適用されます。

サンプルコードで学ぶ静的変数の使い方

以下は、Studentクラスを使った具体例です。static letで宣言したsectionは定数、static varで宣言したdayは変更可能な静的変数、そしてnamerollNumは各インスタンスが個別に保持するインスタンス変数です。

class Student {
    static let section: String = "A"   // 静的定数
    static var day: String = "Monday"  // 静的変数
    var name: String = "Akash"         // インスタンス変数
    var rollNum: Int = 1                // インスタンス変数
}

let student1 = Student()  // オブジェクト1
print(student1.name)      // Akash
print(student1.rollNum)   // 1
student1.name = "Aman"    // student1の名前をAmanに変更
print(student1.name)      // Aman

let student2 = Student()  // オブジェクト2
print(student2.name)      // Akash
print(Student.section)    // A
print(Student.day)        // Monday

押さえておきたいポイント

静的変数へアクセスする際は、インスタンス名ではなくクラス名を指定する点に注意してください(例:Student.section)。また、上記の例からも分かるように、student1のnameを変更してもstudent2のnameには影響しません。一方、静的変数は全インスタンスで1つの値を共有するため、アプリ全体で共通の設定値やカウンタなどを管理したい場合に非常に便利です。

  1. Androidスマホ・タブレットでPCのマウスとキーボードを使う方法【DeskDock完全ガイド】

    スマートフォンやタブレットでは、どうも作業がはかどらない——そんな経験はありませんか?気のせいだと思いたいところですが、マウスとキーボードを手にすると不思議と作業モードに入れるのは、多くの人が共感する感覚です。 Androidデバイスの大半は、指によるタッチ操作が主な入力方法です。しかし、指先での操作はマウスやキーボードほど滑らかではなく、生産性の面で大きな弱点になりがちです。 もし、パソコンで使っているマウスやキーボードをそのままスマホやタブレットで使えたら便利だと思いませんか?実はそれ、可能です。この記事では、パソコンの入力機器を使ってAndroidデバイスを操作する方法を詳しく解説します

  2. Android TVでADBを設定して使う方法|PCとの接続手順と活用テクニック

    AndroidスマートフォンであれAndroid TVであれ、OSの本質は同じです。つまり、Android TVは他のAndroidデバイスと同じように自由にカスタマイズできるということです。 Androidアプリのサイドローディングなど、本格的なカスタマイズを行いたい場合は、「Android Debug Bridge(ADB)」の力が必要になります。この記事では、ADBを使ってAndroid TVをPCに接続する方法を詳しく解説します。 PCにADBをセットアップする方法 まず最初のステップは、お使いのPCにADBをインストールすることです。そのためには、Android Developers