Swift3の移行へ向けて予習するために(日本語話者向け)
WWDC2016ついに始まりましたね!
夜中のキーノートではMacbookについての発表がなかったとか少し残念がられている点もあるようですが、Developerにとっては今まで一般人の触れなかったSiriとかマップとかiMessageのSDKだったりXcode8だったり期待されるような情報も結構公開されたようです(と書きつつ僕はリアルタイムで見てないわけなんですが汗)
さっそくβ版がいろいろと公開されたのでDeveloperサイトにいっていろいろ試している人はお気づきだと思いますが、今回のアップデートで本格的にSwiftがver.3へと移行していく模様です。また正式リリースの段階でドタバタするのもあれだと思うのでいち早くSwift3を学んでいこうということで現時点で集められる限りの日本語情報を集めてみました。
リンク
はじめにリンクを貼っておいてその後で日本語情報がまだ足りてない部分の補足を書いていこうと思います。
- 公式の英語情報(最新)...ここが最新なのはブレないと思うので英語が得意な人はここを見ましょう
- 5/18時点での詳細な日本語情報 by Developers.IOさん
今のところはここが一番詳しい模様です...
日本語訳されていない情報
とりあえず見つけ次第どんどんやっていこうと思います。なお記事の更新時点で実装されているものかつ上の記事になかったもののみで、実装されていないけど認可されたとなっている項目に関しては触れていません。
SE-0085 SwiftPackageManagerのコマンドラインでの呼び出し方がかわります
SwiftPackageManagerをコマンドラインで扱う際これからはswift package
で扱えるようになります。これにともないswift build --init
はswift package init
などと書けるようになりました。また新しいコマンドとしてswift package update
が追加されました。
既存のswift build
やswift test
に関してはswift package build
やswift package test
に統合されましたが既存のコマンドもこれらのエイリアスとして使えます。
SE-0093 スライスに新しくpublicなbase
プロパティが追加されました
MutableCollection
のプロトコルを扱う際、今までのスライスAPIだとbase collectionにアクセスする方法がなかったため(つまるところスライスする前のCollectionにスライス後のものからアクセスできるということでしょうか?)baseプロパティが追加されました。公式のサンプルコードとして以下のような例があげられています。
public struct MutableRandomAccessSlice<
Base : protocol<RandomAccessIndexable, MutableIndexable>
> : RandomAccessCollection, MutableCollection {
/// The underlying collection of the slice
public var base: Base { get }
}
SE-0094 stdlibにsequence(first:next:)とsequence(state:next:)が追加されます
Haskellのiterate
およびunfoldr
と同じ機能との説明がなされていますがサンプル見るのがはやいです。以下のように使えます。
for x in sequence(first: 0.1, next: { $0 * 2 }).prefix(while: { $0 < 4 }) {
// 0.1, 0.2, 0.4, 0.8, ...
}
for view in sequence(first: someView, next: { $0.superview }) {
// someView, someView.superview, someView.superview.superview, ...
}
要するにコメントに書かれているような配列を生成できる関数ということですね、これでfor文がより便利になる模様
Author And Source
この問題について(Swift3の移行へ向けて予習するために(日本語話者向け)), 我々は、より多くの情報をここで見つけました https://qiita.com/touyoubuntu/items/acfbc9fb0d11703f4811著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .