ようやく目を通すことができたので、メモを残しておきます。

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB DB PRESS plus)

ページ メモ
p. 4 max(_:_:)という関数名の書き方すぐ忘れるので覚えておこう
p. 36 CGFloat型はFloat型のエイリアス?CLLocationDegreesはpublic typealias CLLocationDegrees = Doubleになってたけど、CGFloatはpublic struct CGFloat {で定義されてるので違いそう。
p. 88 switchのdefaultはenumのcaseを増やした時に実装漏れの可能性などがあるので、できるだけ使わない。
p. 91 for case知らなかった
p. 100 ~=知らなかった
p. 103 is忘れがち
p. 108 @discardableResult知らなかった
p. 118 () -> ()じゃなく() -> Voidと書く # TODO
p. 119 doでスコープ作る(catchと組み合わせなくても使える)
p. 123 @autoclosureの説明わかりやすい。or(lhs(), rhs())でrhsがclosureになってないとlhsがtrueでもrhsが実行されちゃう。それを自動で。
p. 155 UIAlertControllerに独自エラー渡すの便利そう。
p. 156 Prefixつけるより、型をネストする # TODO
p. 168 メンバーワイズイニシャライザっていうのか、Structに自動定義されるやつ。
p. 176 サブクラスで変更する→クラスプロパティ・メソッド、変更しない→スタティックプロパティ・メソッド
p. 252 クラスを利用すべき時:参照を共通(Targetを登録して通知を受ける)、ライフサイクルに合わせた処理(deinitでファイル破棄)
p. 258 継承を利用すべき時:ストアドプロパティを複数の型で共有
p. 264 ImplicitlyUnwrappedOptionalの使いどころ:最初nilが入るけどそれ以降は絶対入らない(Optionalだとnilが入ってくる仕様に誤解される)、サブクラスの初期化より前に親クラスを初期化したい
p. 268 不正な状態でもできるだけ動いてほしいならOptional
p. 275 delegateを使うべき時:多数のイベント通知がある
p. 282 weakとunowned。nilにならないならunownedでいい。nilにならない仕様を明確化できる。でも結局weakの方が安全か。# TODO
p. 284 escapingなクロージャはself必須、循環参照に気づきやすいメリットある
p. 285 クロージャを使うべき時:処理の実行とコールバックを同じ場所に書きたい
p. 289 オブサーバを使うべき時:1対多の通知
p. 306 Threadを使うべき時:特になしw
p. 313 エラー処理にOptionalを使うべき時:値の有無だけで十分
p. 316 エラー処理にResultを使うべき時:エラーの詳細を知りたい、成功か失敗いずれかを保証、非同期処理
p. 319 case error(String)じゃなくcase error(reason: String)わかりやすい # TODO
p. 322 rethrows知らなかった
p. 343 アサーションはデバッグの時だけ。fatalErrorはReleaseでも落ちる。
p. 396 Objective-Cの新機能(ライトウェイトジェネリクス、null許容性アノテーションなど)

1つ1つの章がコンパクトにまとまっていて読みやすかったです。 まだあまり手は動かせてないので、今あるコードに適用できそうなところは取り入れて行きたいと思います。(# TODOつけたところなど)