78266


<https://developer.apple.com/videos/play/wwdc2019/415>  
を見ています。

23分10秒あたりから、プロパティーラッパーの解説が始まります。

同資料のPDFの110ページにプロパティーラッパーをつくるための構造体が載っています。  
この資料には[Swift5.5のドキュメント](https://docs.swift.org/swift-
book/LanguageGuide/Properties.html)に見られる `wrappedValue` が見受けられず、同様のものが
PDFでは`value` と呼ばれている気がします。

また, PDFの112ページに `$`
が付いた変数に変換されるという記載がありますが、[Swift5.5のドキュメント](https://docs.swift.org/swift-
book/LanguageGuide/Properties.html)では`_`が付いた変数に変換されるというように読めます。  
そして[Swift5.5のドキュメント](https://docs.swift.org/swift-
book/LanguageGuide/Properties.html)には`$`に関しては`projectedValue`であるというようなことが記載されていると思うのですが、PDFには`projectedValue`について言及はありません。

このPDFはSwfit5.1で書かれたものだと思うので、現在のSwift5.5までの間にどこかで仕様が変わったのでしょうか？Swift5.5より古いバージョンのドキュメントが見つけられず、ドキュメントで確認することができませんでした。


CC BY-SA 4.0
2021-07-17T08:13:50.537
78245
2021-07-18T06:18:37.143
9008
question
swift
Modern Swift API Design のプロパティラッパーの説明が、ドキュメントと違う気がするのですが、仕様がバージョンによって異なりますか？


> このPDFはSwfit5.1で書かれたものだと思う

WWDC 2019のセッションで触れられているSwiftは、WWDC 2019のセッションビデオを作成する時点の非公開ベータ版のSwift 5.1です。

> 現在のSwift5.5までの間にどこかで仕様が変わったのでしょうか？

WWDC
2019が開かれた2019年6月より後、5.1の正式版がリリースされるまでの間にプロパティラッパーについてのSwift進化プロセス提案[SE-0258
Property Wrappers](https://github.com/apple/swift-
evolution/blob/main/proposals/0258-property-
wrappers.md)が数次にわたるレビューと修正&再レビューを経て[2019/7/19に承認](https://forums.swift.org/t/accepted-
with-modification-se-0258-property-wrappers/26828)されました。

[Swift 5.1の正式リリース](https://swift.org/blog/swift-5-1-released/)は2019年版のXcode
11リリースと同時である2019/9/20です。

つまり、ご記載の内容は **Swift 5.1の正式版がリリースされるまでの間に仕様が変わった** ことになります。

WWDCでの発表内容は、その年にリリースされる予定のXcode/各SDKの非公開ベータ版を使用しているものが多くあり、細かい書式・APIの詳細などは正式版リリースまでに変更になることはちょくちょくあります。([Swift
5.5 async awaitを使ってのhttp
GETはこれが最適解ですか？](https://ja.stackoverflow.com/a/78211/13972)のコメントなんかも参照してください。)

映画の予告編に出てきたシーンが公開版からはカットされてしまうなんてのと同じで、WWDCセッションの内容は、あくまで新機能の概要などを説明・紹介するためのもので、コードや説明の一字一句全てがリリース版でも同じ、とは捉えない方が良いでしょう。


CC BY-SA 4.0
2021-07-18T06:18:37.143
78266
2021-07-18T06:18:37.143
13972
78245
answer