知ってる人は知っている。知らない人は知らない。そういうこと、いっぱいあります。
さてiOSである程度開発になれてきてデータ管理にCoreDataなどを使おうとして、データ定義をしているとモデルを管理する識別子、IDが欲しくなってきます。というかだいたい必要なんじゃないかと思います。
データの名前で管理しようとしたり(2年前の俺)、日付を秒数まで文字列で取得してID代わりに使ってみようとしたり(1年半前の俺)と、知っておくべきことを知らないでいると「何を言っているか分からねーと思うが、、、」な実装をしてしまいます。
先人たちはUUIDという便利なものを用意してくれてCocoaにもしっかりと用意されているので、iOS、Objective-C、Swiftで識別子を作りたいときはこれを使いましょう
Objective-Cで書くと、こう。
NSString *uuid = [[NSUUID UUID] UUIDString];
Swiftで書くと、こう。
let uuid: NSString = NSUUID().UUIDString
XcodeのSnippetとかに登録しておくと便利です。
ちなみにモデルの識別子のプロパティ名をid
とかObjective-Cでやるのはナンセンスなのでidentifier
とかにしましょう。
ターミナルからはuuidgen
。
$ uuidgen
別に日付と時間からでも生成できないことはないけど、NSUUIDなら一行で済むからそんな無茶しなくていいと思います。