0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Swift】一意のIDを作成したい時 NSUUID

Posted at

使用用途

何かを一意に識別する時などに使う。
DBに保存するオブジェクトのプライマリーキーなど、値がユニークである必要がある時など。

使用方法

下記のような形で使うと定数idに16進数で32桁のIDが作成されます。

let id = NSUUID().uuidString

ただ必ずユニークな値が保証されているわけではないようです。
しかし、確率としては340,282,366,920,938,463,463,374,607,431,768,211,456分の 1とかみたいなので、よっぽど大丈夫。(笑)

趣味開発でRealmを使用した際、こんなふうに使ってidを作成してました。

class Plan: Object {
    @objc dynamic var id: String = NSUUID().uuidString
    @objc dynamic var title: String = ""
    @objc dynamic var content: String = ""
    @objc dynamic var date: Date = Date()
    @objc dynamic var createdAt: Date = Date()
    
    override static func primaryKey() -> String? {
        return "id"
    }
}

終わりに

素人なので参考までに。。。
他にいい方法がありましたら教えていただきたいです。

参考資料

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?