もくもく独書 とは
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記の Swift実践入門を読みながら、思った事をTweetしていく取り組みです。
Swiftをはじめから丁寧にやっていきます。 なるべく毎日更新を目標にする。
リンク
前回:
次回:
今日の取り組み
さて、今日もやってくぞー!今日は勉強会&懇親会なので、朝のこの時間にやる。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
今日は第十一章「イベント通知」について。 #もくもく独書
まず、"イベント"の定義だけど例えば、ボタンのタップだったりプロパティの値が変わる事だったりのあらゆる事象の事を"イベント"といって、そのイベントの発生を発生元から別のオブジェクトに伝える事を「イベント通知」という。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
Swiftにおけるイベント通知のパターンは複数種類ある。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
大別として
・ デリゲートパターン
・ クロージャ
・ オブザーバパターン
これらについて、今日は見ていく感じかなー。#もくもく独書
デリゲートパターンはあるオブジェクトの処理を別のオブジェクトに代替させるパターンである。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
デリゲート元のオブジェクトがデリゲート先のオブジェクトにメッセージを送り、デリゲート先のオブジェクトはそれを受け取って適当な処理を行う、という処理フローになっている。
#もくもく独書
例えば、デリゲートパターンの例としてはざっくりこんな感じ
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
( IPod じゃなくて iPod じゃ! ってマサカリはなしで)pic.twitter.com/LDzIayDyKl
#もくもく独書
クロージャーの例としては以下のような感じ。 音楽プレーヤーでランダムに曲を再生、 callbackの randomName としてランダム再生した曲名を取得した、みたいな感じ。 API連携などの処理として採用されたりするが反面、多用しすぎるとコールバック地獄になる。 pic.twitter.com/aMmOcoiAGg#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
続いて オブザーバパターンについてみていく。 これまでのデリゲートパターン・クロージャー は イベントの受け取りが 1:1 という時に使うものでした。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
オブザーバパターンでは、1対多のイベント通知を可能にするもの。#もくもく独書
オブザーバパターンの構成要素としてはサブジェクトとオブザーバである。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
オブザーバは通知を受け取る対象、サブジェクトはこのオブザーバを管理し適当なタイミングでイベント通知を行うものです。
#もくもく独書
オブザーバパターンの例としてはこんな感じ。 post() を実行する事で複数あるオブザーバで一気に処理が呼ばれる。pic.twitter.com/hwakajwJxY#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
以上かな。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月9日
こういうの使いながらなんか一個アプリ作ってみたいなーって最近思ってる。#もくもく独書
Swift実践入門について
今はSwift4対応の改訂版出てるのでそっち読んだほうがいいよ。多分。
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2018/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る