もくもく独書 とは

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記の Swift実践入門を読みながら、思った事をTweetしていく取り組みです。
Swiftをはじめから丁寧にやっていきます。 なるべく毎日更新を目標にする。
リンク
前回:
次回:
今日の取り組み
今日もやってくぞー
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
今日は第十章 「型の設計指針」について。構造体・クラス・列挙型についてどのように使い分けていくべきかについて掘り下げて行く感じ! #もくもく独書
クラスを使う上で頭に入れておくべきなのは、 「クラスが参照型」である、という事。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
例えば、画像のような感じのパターンを想像したとき、最後の takahasi.favoriteFood が 苺ではなくて オレンジとなる。pic.twitter.com/Ek3D1lPDoW#もくもく独書
先程の参照型の問題を解決するには、次のようにクラスだったものを構造体にする事で解決する事ができる。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
この安全性により、Swiftでは構造体の利用が推奨されている。pic.twitter.com/eF4KT2e1V1
#もくもく独書
先程の問題などの場合においては構造体の利用が推奨されているが、Swiftでもクラスを利用すべき時もある。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
画像のような感じでリレーの"走者"と"スターター" を考えます。 starterをクラスにすることで参照が共有され走者は皆同じピストルを参照します。pic.twitter.com/yvbOetrY9z
#もくもく独書
また、クラス の特徴としてクラスには、値型の構造体・列挙型にはないクラスの継承という概念がある、という箇所があげられます。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
Swiftでは値型の構造体や列挙型には継承に相当する概念がありません。
Swiftではこういう場合は、 プロトコルを定義する事でそれを実現します。
#もくもく独書
プロトコルを使用する事で 必要なものは共通化しながらも、FatSuperClass を防ぎ 各サブクラスで実装すべきはプロトコルの準拠によって抽象的な事象を具体化する、という事を実現する事ができます。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
今日は以上。。かな。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月8日
この章は結構何度も読んで理解した方がいい気がするねー。
一気にSwiftが好かれる理由となってるような箇所だったりすると思ってる。#もくもく独書
Swift実践入門について
今はSwift4対応の改訂版出てるのでそっち読んだほうがいいよ。多分。
![[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus) [改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/51WsZJ6wtIL._SL160_.jpg)
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2018/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る