##やりたいこと
アプリ内であるモノを一意に識別するためのID(ユニークなID)が必要なシーンは比較的よくあると思います。
主に何かと何かを紐付ける必要がある場合、がそれにあたるかと思います。
このような場合、簡単に思いつくところだと、
- 連番をふる
- 時刻を使用した文字列を作る
などがありますが、処理の並列度が高い場合などはこれらの方法では必ずしも十分ではないかもしれません。
簡単に一意なIDを生成する方法があります。UUIDというものを使います。
##UUIDとは
ソフトウェア上でオブジェクトを一意に識別するための識別子で128bitの数値で表されます。
衝突を避けるような生成方法も含めて規格化されています。
文字列として表記する場合、550e8400-e29b-41d4-a716-446655440000
のような16進数表記で表されます。
SwiftにもこのUUIDを生成する機能が標準で用意されています。
##UUIDの生成方法
UUIDを生成して、それを16進数表記文字列にして、プリントする処理は下記のように実装できます。
let uuid = UUID()
let uniqueIdString = uuid.uuidString
print(uniqueIdString)
上記コードでの uuid
は UUID型になります。
UUIDは128bit(=16byte)の数値です。
ですが実際の取り扱いとしては文字列表記にしたいことも多いかと思います。
文字列表記は UUID型オブジェクトの uuidStringプロパティとして取得できます。(String型になります。)
##動作確認環境
Xcode: 11.7
iOS: 13.7
Swiftバージョン: Swift5
以上