73
71

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 5 years have passed since last update.

iOSで識別子を作りたいとき Swift,Objective-C

Last updated at Posted at 2014-07-25

知ってる人は知っている。知らない人は知らない。そういうこと、いっぱいあります。

さて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なら一行で済むからそんな無茶しなくていいと思います。

73
71
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
73
71

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?