2015/06/19 Develpers.IO Meetup 11 in 北海道 WWDC2015勉強会 発表資料Read less
2015/06/19 Develpers.IO Meetup 11 in 北海道 WWDC2015勉強会 発表資料Read less
Swift is now open source. For the latest news, visit the Swift open source blog Swift provides a performant, Unicode-compliant string implementation as part of its Standard Library. In Swift 2, the String type no longer conforms to the CollectionType protocol, where String was previously a collection of Character values, similar to an array. Now, String provides a characters property that exposes
今回で2回目となる Swift 2 シンポジウムに、今回はパネリストとして参加させて頂きました。 前回で大きな注目点は出尽くしたかと思っていたら、今回はさらに良質なテーマが掘り起こされて、たっぷりと楽しく議論できました。 実りもとっても大きかったです。
Swift 2.0では、Optionの型が変わりました。 あたらしく導入された OptionSetType についてちょっと見てみました。 OptionSetTypeとは 最近、Swift1.2の既存プロジェクトのSwift2.0対応を少しずつ始めたんですが、UIUserNotificationType の option 設定でコンパイルエラーが発生。 こんな感じのコードを書いていたんですが、「Binary operator '|' cannot be applied to two UIUserNotificationType operands」というエラーが表示されていました。 let types : UIUserNotificationType = UIUserNotificationType.Badge | UIUserNotificationType.Alert | UIUserN
2015 年の七夕の日に開催された @yucovin さん主催の「WWDC2015 情報共有会」で、Swift 2.0 で登場したプロトコル拡張 (Protocol Extension) の基本的な書き方を中心に、簡単にながらその魅力を紹介してきました。 プロトコル拡張って、機能だけ見るとそんな難しいものではなくて、それより使いどころを意識する方が大事なのかも? そう思って、新機能ではないですけれど、それを支えるそもそもの「プロトコル」というものについての特徴をさらっと整理してみて、そこのどこに今回のプロトコル拡張が食い込んできたのか、そんなところを雰囲気程度ですけれど、感じられるようにしてみました。 プロトコル拡張に関心を持つきっかけにしてもらえたら幸いです。Read less
Swift2.0で追加されたprotocol extensionsを試してみたのでそのメモです。 protocol extensionsとは プロトコルにメソッドを追加できる機能です。 下のようにextensionを使ってprotocolにメソッドを追加します。 protocol MyProtocol { func aaa() } extension MyProtocol { func bbb() { print("AAA") } } protocolとは Javaで言うInterfaceです。 下のようにメソッドの宣言をして利用します。 protocol MyProtocol { func aaa() } protocol extensionsの使い方 先ほど書いた通りextensionを使ってメソッドの追加をします。 protocol MyProtocol {} extension M
全く同じメソッドが、複数のプロトコルから既定の実装として与えられている、要は「曖昧な実装になっている」ため、どれを呼び出したら良いのかがわからないということを主張しているのでしょう。 そしてこのとき面白いのが、構造体 Picture を両方のプロトコルに準拠させようとしているところで、不可思議な次のビルドエラーが発生します。 既定の実装だけしかないのに、なぜ両方から「準拠できていない」と指摘されているのか。 これを見させてもらった最初は「Protocol Extension ってまだまだ甘い実装なのかな」と思ってみたりもしたんですけど、それからゆっくり考えていたら、なんとなく Swift の気持ちが分かってきました。 エラーの理由は曖昧性 まず、そもそもの大事なポイントなのですが、既定の実装を extension で添えるに当たって、その機能のシグネチャを protocol に宣言しておく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く