
調べ物をしてた時に、enumの中に返り値のない関数みたいなのが出てきて意味わかんなかったけど、調べたのでメモしたわけです
associated value というそうです。
今回Navigation Stackの使い方を調べていた時に出てきた以下のコードの意味がわからんかったわけだ
enum Route: Hashable {
case detail
case user(id: String)
case web(url: URL)
}
detailはいいとして、userとwebのその関数みたいなやつはなんや…?と色々調べたら、
associated valueというものらしい。ふぅん。
以下のような感じで使うらしい
let unko:Route = Route.user(id:"unkoburi")
switch unko{
case .detail
print("detail")
case .user(id:let id):
print("user_\(id)")
case .web(url:let uu):
print("web \(uu)")
}
////結果
user_unkoburi
なるほど、こうやって中身を取り出すことができたんですね。理解しました。
よくわからんが覚えた