Swiftの文法をキッチリ学ぶのにオススメな本「詳解Swift」

公開日: : 最終更新日:2015/07/24 iOSアプリ開発

20150709-234536.jpg

解説が細かすぎるのでプログラミング未経験者や初心者にはオススメできませんが、Objective-Cの経験がある方や、Swiftの文法について詳しく知りたい方、他の言語での経験がある方にはオススメな本です!

    

Swiftの文法が隅から隅まで載っている!

以下の目次を見て頂ければ分かりますが、オプショナル・パターン・プロトコル・クロージャ・ジェネリクスなど、Swiftの文法に関する知識が隅から隅まで載っています!

CHAPTER01 Swiftでプログラミング
CHAPTER02 関数
CHAPTER03 構造体
CHAPTER04 オプショナル
CHAPTER05 基本的なデータ型
CHAPTER06 パターン
CHAPTER07 演算子
CHAPTER08 クラスと演算子
CHAPTER09 メモリ管理
CHAPTER10 プロトコル
CHAPTER11 拡張
CHAPTER12 クロージャ
CHAPTER13 ジェネリクス
CHAPTER14 C/Objective-Cとのデータ受け渡し
CHAPTER15 Objective-Cとの連携

引用元 : 詳解 Swift

    

2014年12月に出た本なので、Swift 1.1・Xcode 6.1に対応

Swiftの文法に関する知識が非常に詳しく載っている本ではありますが、本書は2014年12月に出た本のため、その内容はSwift 1.1&Xcode 6.1をベースとした内容となっています。

それに対して現在の正式最新版はSwift 1.2&Xcode 6.4、β版も含めるとSwift 2.0&Xcode 7となっています。なので文法の違いはありますが、それについては以下の様な記事を参照すれば差を埋められるでしょう。

Swift 1.2 で個人的に気になったところまとめ – Qiita

Swift2.0で追加された構文 – Qiita

    

Swift 2の「Protocol-Oriented Programming」に備えるために

Swift 2では「protocol extension」が追加され、「Protocol-Oriented Programming」という考え方が強く推進されていくようです。これについては以下の動画を見れば詳しく分かると思います。

Protocol-Oriented Programming in Swift – WWDC 2015 – Videos – Apple Developer

もちろん本書はSwift 1.1ベースなのでprotocol extensionについては載っていないのですが、プロトコルの細かな知識をしっかりとおさえておくのに使えると思います。例えば付属型(associated type)やSelf(先頭が大文字)などですね。

また、ジェネリクスによる型定義について解説している箇所(272ページあたりから)も要チェックです。CollectionTypeプロトコル、GeneratorTypeプロトコル、Equatableプロトコル、SequenceTypeプロトコルなどを使って独自の型を定義する方法について詳しく解説されています。この辺りの考え方はSwift 2でかなり役立つはずです。

更に付録ではSwift標準ライブラリのプロトコル(CollectionType、Comparable、Equatableなど)・型・ジェネリクス型(Array、Dictionary、Optional、Rangeなど)・関数(filter、map、reduceなど)についての情報がまとめられています。これらの情報は、Swift 2の「protocol extension」を使って標準ライブラリを拡張する際などに役立つことでしょう。

    

@akio0911はこう思った。

Swift 1.1のみならず、Swift 1.2やSwift 2について学ぶのに本書がとても役に立ちました。特にSwift標準ライブラリのプロトコル周りの構成について学ぶのにかなり役立つと思います!

    

関連記事

この記事が気に入ったら「いいね!」しよう

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

LINEでご感想・ご要望お送りください!
(スマホでLINEを起動 > 友だち追加 > QRコード)

【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた

こんにちは、@akio0911です。今回はRxSwiftのBe

【RxSwift】materialize, dematealizeを使ってみた

@toshi0383さんに教えていただいた、RxSwiftのm

【RxSwift】ストリームのcompletedをつぶす(消し去る)方法

RxSwiftで元々のストリームからcompletedをつぶす

【RxSwift】completedかerrorが流れてきたらsubscribeはdisposeされる

RxSwiftにおいて、completedかerrorが流れて

init(frame:), init(coder:), awakeFromNib, prepareForInterfaceBuilder が呼ばれる条件をまとめてみた

カスタムViewを作った際に呼ばれる初期化系メソッドの条件や順

→もっと見る

PAGE TOP ↑