

Objective-CとSwiftでUUID文字列を生成する、バージョン別の書き方
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
Objective-Cの場合
NSString *uuid = [[NSUUID UUID] UUIDString];これは今も変わらず正しい書き方。
Swiftの場合
Swiftはバージョンによって書き方が違う。
Swift 2以前
let uuid: NSString = NSUUID().UUIDString当時はObjective-CのAPIをほぼそのままブリッジしていたので、クラス名はNSUUID、メソッド名も大文字始まりのUUIDStringだった。戻り値もNSString。
Swift 3以降
let uuid = UUID().uuidStringSwift 3(2016年9月リリース)でSwift API Design Guidelinesが適用されて、以下が変わった。
NSUUID→UUID(Foundationの値型に統一された)UUIDString→uuidString(メソッド名が小文字始まりになった)- 戻り値も素直な
String型になったので、NSStringへのキャストが不要になった
2018年8月時点で使うSwiftはだいたい4.1〜4.2あたりなので、NSUUID().UUIDStringはもう2年近く前の書き方。これで書くとコンパイルエラーになる。