Objective-C/Swiftにおけるシングルトン定義備忘録

オブジェクト指向言語では、シングルトンパターンがしばしば使われる。iOSあるいはmacOSアプリで使われているObjective-CやSwiftではそれを実現する方法があり1 、定義をすることができる。ここでは備忘録として定義方法を書いていきたい。

今回はSingletonInstanceというクラス名と仮定して行う。

Objective-C

Objective-Cでは以下の方法で実装することができる。

SingletonInstance.hファイル

SingletonInstance.hファイル

注意事項

Objective-Cで行う場合は、言語仕様の制約により、厳密なシングルトンパターンは実現できない。これは、Objective-Cではメソッドをprivateに指定できないことによるものであり、なおかつヘッダーファイルレベルで初期化を隠蔽できないことによるものである。

Swift

Swiftでは、以下の方法で実現可能である。

SingletonInstance.swift

Swiftでは、Objective-Cよりもかなり簡潔に実装可能、なおかつイニシャライザーを隠蔽することができる。これによって、厳密なシングルトンパターンを実現できるようになっている。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。
  1. Objective-Cでは言語仕様の問題で不完全 []
スポンサーリンク

フォローする