Swift--属性、メソッド、下付き、継承

2035 ワード

ツールバーの


ストレージのプロパティ


最も単純な場合、特定のクラスおよび構造体のインスタンスの一部である定数または変数

定数構造体インスタンスのストレージプロパティ


定数構造体インスタンスのプロパティは変更できませんが、クラスは変更できます.
const修飾ポインタと同様

遅延ストレージ属性


最初の使用時に計算を行い、宣言前にlazyをマークして表示し、varとして宣言する必要があります.

ストレージ属性とインスタンス変数


OCではproperyとクラスで定義された2つの方法で1つの属性を宣言することができ、Swiftにはもうありません.

計算プロパティ


実際には値は格納されないが、他の属性および値を間接的に取得および設定するために、リーダgetterおよびオプション設定器setterが提供される

簡易セットアップ宣言


セットアップで設定する値に名前を定義せず、デフォルトではnewValueと命名されます.

読み取り専用計算プロパティ


getterを削除し、他のカッコを削除

属性オブザーバ

willSet、didSet

グローバル変数とローカル変数


リーダー、セットアップ、オブザーバを持つことができます

タイプのプロパティ

staticキーワード修飾、同様にリーダ、セットアップ、オブザーバ使用クラスを持ってアクセスでき、インスタンスアクセスは使用できません.

方法


インスタンスメソッド


インスタンスメソッドでの値タイプの変更


デフォルトでは、値タイププロパティは独自のインスタンスメソッドで変更できません.変更する場合は、mutatingを使用して関数を修飾することが重要です.

異変法で自分自身を指定する

struct Point {
    var x = 0.0, y = 0.0
    mutating func moveBy(x deltaX: Double, y deltaY: Double) {
    self = Point(x: x + deltaX, y: y + deltaY)
  }
}

タイプメソッド


サブクラスによるタイプメソッドの書き換えの使用classキーワード修飾

下付き文字


クラス、構造体、列挙は、集合、リスト、またはシーケンスメンバー要素へのアクセスのショートカットとして使用できる下付きラベルを定義します.
1つのタイプに複数の下付き文字を定義できます.下付き文字は、入力されたインデックス値のタイプに基づいて適切な下付き文字の再ロードを選択します.

下付きの構文


下の記号を使用すると、クラスのインスタンスをインスタンス名の後ろのカッコに1つ以上の値を書いてクエリーできます.構文は、インスタンスメソッドと計算プロパティに似ています.インスタンスメソッドとは異なり、下付き文字は読み書きでも読み取り専用でもよい.
subscript(index: Int) -> Int {
    get {
        // return an appropriate subscript value here
    }
    set(newValue) {
        // perform a suitable setting action here
    }
}

下付きの使い方


下付きオプション


任意の数の入力形式パラメータを受信することができ、これらの入力形式パラメータは任意のタイプであってもよい.下付き文字は、任意のタイプを返すこともできます.下付き文字は変数形式パラメータと可変形式パラメータを使用できますが、入出力形式パラメータを使用したり、デフォルト形式パラメータを指定したりすることはできません.