extension

extensionとは

既存の型(クラス、構造体、列挙型、プロトコル)に、元のソースコードを変更せずに新しい機能を追加できる仕組みです。

基本的な使い方

1. メソッドの追加

2. 計算プロパティの追加

4. プロトコル準拠

実用例

OCR関数をCGImageの拡張として定義

extensionの制約

❌ できないこと:

  • ストアドプロパティ(値を保持するプロパティ)の追加
  • 既存のメソッドのオーバーライド

⭕ できること:

  • メソッドの追加
  • 計算プロパティの追加
  • イニシャライザの追加
  • ネストした型の定義
  • プロトコル準拠

メリット

  1. コードの整理: 機能ごとに分けて書ける
  2. 再利用性: 標準型に独自機能を追加できる
  3. 読みやすさ: 関連する機能をグループ化できる

extensionは非常に便利で、Swiftらしいコードを書くための重要な機能です!

コメント

タイトルとURLをコピーしました