構築プロセスとプロファイルプロセス

1444 ワード

コンストラクションプロセス
  • 構築プロセスは、クラス、構造体、または列挙タイプのインスタンスを使用するための準備プロセスである.このプロシージャには、インスタンス内の各プロパティの初期値を設定し、必要な準備と初期化タスクを実行するプロセスが含まれます.Swiftコンストラクション関数はinit()メソッドを使用します.Objective-Cのコンストラクタとは異なり、Swiftのコンストラクタは値を返す必要はありません.これらの主なタスクは、新しいインスタンスが最初の使用前に正しい初期化を完了することを保証することです.クラスインスタンスは、クラスインスタンスが解放される前にメモリをクリーンアップする作業を定義することによってもよい.
  • ストレージ型プロパティの初期付与クラスと構造体は、インスタンスの作成時に、すべてのストレージ型プロパティに適切な初期値を設定する必要があります.ストレージプロパティがコンストラクタに値を割り当てると、その値は直接設定され、プロパティ観測器はトリガーされません.ストレージ属性コンストラクタで値を割り当てるプロセス:初期値を作成します.属性定義でデフォルトの属性値を指定します.インスタンスを初期化し、init()メソッドを呼び出します.コンストラクタコンストラクタは、特定のタイプの新しいインスタンスを作成するときに呼び出されます.その最も簡単な形式は、キーワードinitで名前を付けるパラメータを持たないインスタンスメソッドに似ています.構文
  • init()
    {
        //          
    }
    

    ぶんせきかてい
  • クラスのインスタンスが解放される前に、構造関数が直ちに呼び出される.キーワードdeinitで構造関数を表示します.初期化関数と同様にinitで表示します.構造関数はクラスタイプにのみ適用されます.
  • プロファイリングプロセスの原理Swiftは、リソースを解放するために不要なインスタンスを自動的に解放する.Swiftは、インスタンスのメモリ管理を自動参照カウント(ARC)で処理する.通常、インスタンスが解放されると、手動でクリーンアップする必要はありません.しかし、自分のリソースを使用する場合は、追加のクリーンアップが必要になる場合があります.たとえば、カスタムクラスを作成してファイルを開き、いくつかのデータを書き込む場合は、クラスインスタンスが解放される前にファイルを閉じる必要があります.コンストラクション関数(destructor)はコンストラクション関数とは逆に、オブジェクトがライフサイクルを終了すると(たとえば、オブジェクトが存在する関数が呼び出された)、クラスの定義では、クラスごとに最大1つのコンストラクション関数しか存在しないコンストラクション関数構文を自動的に実行します.構造関数はパラメータを持たず、書き方にかっこをつけない:
  • deinit {
        //       
    }
    
  • とOCのdeallocは同じで、通常deinitとdeallocで実行する必要がある操作は
  • です.
  • オブジェクト破棄
  • KVO除去
  • 削除通知
  • NSTimer破棄