LoginSignup
13
7

More than 3 years have passed since last update.

【Swift】あるモノを一意に識別するためのIDを生成する方法(UUIDの利用)

Last updated at Posted at 2020-10-30

やりたいこと

アプリ内であるモノを一意に識別するためのID(ユニークなID)が必要なシーンは比較的よくあると思います。
主に何かと何かを紐付ける必要がある場合、がそれにあたるかと思います。

このような場合、簡単に思いつくところだと、

  • 連番をふる
  • 時刻を使用した文字列を作る

などがありますが、処理の並列度が高い場合などはこれらの方法では必ずしも十分ではないかもしれません。

簡単に一意なIDを生成する方法があります。UUIDというものを使います。

UUIDとは

ソフトウェア上でオブジェクトを一意に識別するための識別子で128bitの数値で表されます。
衝突を避けるような生成方法も含めて規格化されています。

文字列として表記する場合、550e8400-e29b-41d4-a716-446655440000 のような16進数表記で表されます。

SwiftにもこのUUIDを生成する機能が標準で用意されています。

UUIDの生成方法

UUIDを生成して、それを16進数表記文字列にして、プリントする処理は下記のように実装できます。

uuidprint.swift
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

以上

13
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7