magazine.gif Swift離陸ガイド

この本について

  • はじめに
    • おことわり
  • この本の使い方
  • この本の構成

Swift概要

  • Swiftの第一印象
    • 行の終わりにセミコロン不要
    • コメントはCと同じ
    • 簡潔な記述
    • ヘッダファイルも不要
    • NSObjectの継承が不要
    • 演算子などはなじみあり
  • Swiftを使う
  • SwiftとObjective-Cの違い
  • nilが違う
  • 静的解析でエラーを指摘してくれる
  • SwiftはObjective-C よりもカンタン?

Swift基本要素

  • 文と変数・定数
    • 変数
    • 定数
  • 基本演算子
    • 代入演算子『=』 Assignment Operator
    • 算術演算子 Arithmetic Operator
    • 剰余演算子 Remainder Operator
    • インクリメント・デクリメント演算子
    • マイナスとプラス演算子 Unary Minus Operator Unary Plus Operator
    • 複合代入演算子 Compound Assignment Operator
    • 比較演算子 Comparison Operator
    • 三項演算子 Ternary Conditional Operator
    • Nil Coalescing Operator
    • 範囲演算子 Range Operators
    • 論理演算子
  • 高度な演算子
    • ビット演算子 Bitwise Operator
    • オーバーフロー演算子 Overflow Operator
    • 演算子の優先順位と結合
    • 演算子のオーバーロード
    • カスタム演算子 Custom Operator
  • 制御フロー
    • if文
    • switch文    ★第7版で解説強化
    • for文
    • for in 文
    • while文
    • do while文
    • Control Transfer Statement
    • ラベル付きステートメント

関数とクラス

  • Swiftの関数
    • 関数の定義と呼び出し
    • 引数なしの関数
    • 値を返さない関数
    • 複数の値を返す関数
    • Optional Tupleを返す関数
    • 引数の名前
    • External Parameter Name
    • External Parameter Namesの簡略記述
    • 引数のデフォルト
    • 可変個引数の関数
    • 他の関数を返す関数
    • 他の関数を引数にした関数
    • 引数は定数がデフォルト
    • 値を返す引数
  • クラス
    • クラス
    • イニシャライザ
    • デイニシャライザ
    • インスタンスの生成
  • プロパティ
    • プロパティ
    • Stored Properties
    • Lazy Stored Properties
    • Computed Properties
    • リードオンリーのComputed Properties
    • Type Properties
    • インスタンスメソッド
    • クラスメソッド
    • メソッドのオーバーライド
    • Objective-Cのid
  • nilとオプショナルな値
    • nil
    • Optional オプショナルな値
    • Optional Binding
    • Nil Coalescing Operator
    • Optional Chaining
    • ImplicitlyUnwrappedOptional ★第7版で追加
  • プロトコル
    • プロトコルとは
    • Swiftのプロトコル
    • プロパティ必要事項
    • メソッド必要事項
    • Mutatingメソッド必要事項
    • イニシャライザ必要事項
    • 型としてのプロトコル
    • Delegation
    • Extensionによるプロトコル適合
    • プロトコルの継承
    • クラス専用プロトコル
    • Protocol Composition
    • プロトコル適合チェック
    • プロトコルのオプション指定

  • 論理型
  • 文字列
    • 文字列のリテラル
    • Characterとの関係
    • 文字数
    • 文字列の結合
    • 文字列の比較
    • 文字列処理
    • 文字列変換
  • 数値
    • 最小値
    • 最大値
    • 数値のリテラル
  • コレクション 配列
    • 配列
    • 配列を使う
    • 値の入れ替え
    • 値と別配列の追加
    • 逆順並べ替え
    • 条件を指定した並べ替え
    • 絞り込み
    • map
    • 値の削除
    • 空の配列
    • 初期化
    • どんな型にも対応する配列
    • 配列の定数の注意点
  • 辞書
    • 辞書を使う
    • 辞書の全要素を扱う
    • 値の変更と追加
    • 辞書から削除
    • 比較
    • 辞書はオプショナル
  • enum 列挙型
    • 列挙型内の関数
    • Raw Values
    • Associated Values
    • 列挙型のmutating
  • Struct 構造体
    • 構造体とクラスの共通点
    • 構造体のプロパティ
    • 構造体のmutating
    • Nested Typesとtupleとキャスト
    • Nested Types
    • 複数の値を扱うtuple
    • 型の確認とキャスト
  • Subscript
    • Subscriptの書式
    • Subscript の使い方

オブジェクトとAccess Control

  • オブジェクト
    • インスタンスの比較
    • 値が存在するか
    • 循環参照対策
    • Extension
    • Closure
  • Access Control
    • アクセスレベル
    • Access Control 書き方
    • Tuple型のアクセスレベル
    • 関数のアクセスレベル
    • 列挙型のアクセスレベル
    • サブクラス化のアクセスレベル
    • 定数、変数、プロパティ、サブスクリプトのアクセスレベル
    • イニシャライザのアクセスレベル
    • プロトコルのアクセスレベル
    • フレームワークのコード例

Swiftならではの書き方

  • 便利な書き方
    • 複数の値を返す関数
    • 範囲指定(Range Operator)
    • Generics (ジェネリック)
  • その他
    • Attribute       ★第7版で追加
  • Objective-C クラスを Swift から使う
    • イニシャライザ
    • クラスメソッドの場合
    • Objective-Cクラスのメソッドの利用
    • idの処理
  • SwiftのクラスをObjective-Cで利用する場合
  • Objective-Cとの互換性
    • 型の対応とブリッジ   ★第7版で追加
    • プロパティ属性の指定

最後に

  • 目が離せないSwiftの動向
    • 言語仕様は固まったのか?
    • コードをSwiftで書き直すべきか
  • Swift資料と関連項目
    • Appleの公式webサイト(英文)
    • Appleの公式ドキュメント(英文)
    • サンプルコード

Swift言語仕様と公式資料変更履歴

  • 最新情報
    • 2014年9月02日(Beta7) ★第7版で追加
  • Swift言語仕様 これまでの変更点
    • 2014年8月18日(Beta6)
    • 2014年8月4日(Beta5)
    • 2014年7月21日(Beta4)
    • 2014年7月7日(Beta3)
    • 2014年6月2日 最初の公開資料

Swift離陸ガイド 改訂履歴
著者略歴