Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ) [単行本]
    • Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ)...

    • ¥3,608109 ゴールドポイント(3%還元)
    • 在庫あり2025年2月14日金曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009003264545

Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ) [単行本]

価格:¥3,608(税込)
ゴールドポイント:109 ゴールドポイント(3%還元)(¥109相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2025年2月14日金曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2020/04/15
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ) の 商品概要

  • 要旨(「BOOK」データベースより)

    先進的な機能を駆使した簡潔でバグのないコード。Xcodeで動かしながら学ぶ基本、設計指針、実装パターン。
  • 目次

    はじめに
    謝辞
    増補改訂第3版での更新点
    サポートページ

    □第1章 Swiftはどのような言語か
    ▼1.1
    言語の特徴
    静的型付き言語
    nilの許容性をコントロール可能
    型推論による簡潔な記述
    ジェネリクスによる汎用的な記述
    Objective-Cと連携可能
    ▼1.2
    開発環境
    ツールチェインのインストール
    macOS
    Linux
    ライブラリ
    標準ライブラリ ── 言語の一部となるライブラリ
    コアライブラリ ── 高機能な汎用ライブラリ
    開発ツール
    Swift Package Manager ── パッケージ管理ツール
    LLDB ── デバッグツール
    ▼1.3
    プログラムの実行方法
    コマンドラインによる実行方法
    REPLによるインタラクティブな実行
    単一ファイルのプログラムの実行
    複数のファイルから構成されるプログラムの実行
    Xcodeにおける実行方法
    Playgroundによるインタラクティブな実行
    複数のファイルから構成されるプログラムの実行
    ▼1.4
    本書のサンプルコードの実行方法
    ▼1.5
    命名規則
    名前に使用可能な文字
    単語の区切り方
    単語の選び方
    ▼1.6
    本書の構成
    ▼1.7
    まとめ

    □第2章 変数と定数と式
    ▼2.1
    変数と定数による値の管理
    ▼2.2
    変数と定数の基本
    宣言方法
    値の代入方法
    代入可能な値
    代入による型推論
    定数への再代入
    値の利用方法
    初期化前の変数や定数の利用
    型の確認方法
    ▼2.3
    スコープ ── 名前の有効範囲
    ローカルスコープ ── 局所的に定義されるスコープ
    グローバルスコープ ── プログラム全体から参照できるスコープ
    スコープの優先順位
    ▼2.4
    式の組み立て
    値の返却のみを行う式
    変数や定数の値を返却する式
    リテラル式 ── 値をプログラムに直接表記する式
    メンバー式 ── 型のメンバーにアクセスする式
    クロージャ式 ── 呼び出し可能な処理を定義する式
    演算を行う式
    算術演算子 ── 算術を行う演算子
    符号演算子 ── 数値の符号を指定する演算子
    否定演算子 ── 論理値の反転を行う演算子
    処理を呼び出す式
    関数を呼び出す式
    イニシャライザを呼び出す式
    ▼2.5
    まとめ

    □第3章 基本的な型
    ▼3.1
    型による値の表現
    ▼3.2
    Bool型 ── 真理値を表す型
    真理値リテラル
    論理演算
    否定
    論理積
    論理和
    ▼3.3
    数値型 ── 数値を表す型
    数値リテラル
    数値型の種類
    整数型
    浮動小数点型
    数値型どうしの相互変換
    数値型の操作
    比較
    算術
    Foundationによる高度な操作
    ▼3.4
    String型 ── 文字列を表す型
    文字列リテラル
    特殊文字の表現
    文字列リテラル内での値の展開
    複数行の文字列リテラル
    数値型との相互変換
    String型の操作
    比較
    結合
    Foundationによる高度な操作
    ▼3.5
    Optional型 ── 値があるか空のいずれかを表す型
    Optional型の2つのケース ── 値の不在を表す.noneと、値の存在を表す.some
    型推論
    Optional型の値の生成
    nilリテラルの代入による.noneの生成
    イニシャライザによる.someの生成
    値の代入による.someの生成
    Optional型のアンラップ ── 値の取り出し
    オプショナルバインディング ── if文による値の取り出し
    ??演算子 ── 値が存在しない場合のデフォルト値を指定する演算子
    強制アンラップ ── !演算子によるOptional型の値の取り出し
    オプショナルチェイン ── アンラップを伴わずに値のプロパティやメソッドにアクセス
    map(_:)メソッドとflatMap(_:)メソッド ── アンラップを伴わずに値の変換を行うメソッド
    暗黙的にアンラップされたOptional
    値の取り出し方法の使い分け
    ▼3.6
    Any型 ── 任意の型を表す型
    Any型への代入による型の損失
    ▼3.7
    タプル型 ── 複数の型をまとめる型
    要素へのアクセス
    インデックスによるアクセス
    要素名によるアクセス
    代入によるアクセス
    Void型 ── 空のタプル
    ▼3.8
    型のキャスト ── 別の型として扱う操作
    アップキャスト ── 上位の型として扱う操作
    ダウンキャスト ── 下位の型として扱う操作
    型の判定
    ▼3.9
    値の比較のためのプロトコル
    Equatableプロトコル ── 同値性を検証するためのプロトコル
    Comparableプロトコル ── 大小関係を検証するためのプロトコル
    ▼3.10
    まとめ

    □第4章 コレクションを表す型
    ▼4.1
    値の集まりの表現
    ▼4.2
    Array型 ── 配列を表す型
    配列リテラル
    型推論
    要素にできる型
    Array型の操作
    要素へのアクセス
    要素の更新、追加、結合、削除
    ▼4.3
    Dictionary型 ── 辞書を表す型
    辞書リテラル
    型推論
    キーと値にできる型
    Dictionary型の操作
    値へのアクセス
    値の更新、追加、削除
    ▼4.4
    範囲型 ── 範囲を表す型
    範囲演算子 ── 範囲を作る演算子
    ..<演算子 ── 末尾の値を含まない範囲を作る演算子
    ...演算子 ── 末尾の値を含む範囲を作る演算子
    型推論
    境界に使用可能な型
    範囲型の操作
    境界の値へのアクセス
    値が範囲に含まれるかどうかの判定
    ▼4.5
    コレクションとしてのString型
    Character型 ── 文字を表す型
    String.Index型 ── 文字列内の位置を表す型
    ▼4.6
    シーケンスとコレクションを扱うためのプロトコル
    Sequenceプロトコル ── 要素への順次アクセス
    forEach(_:)メソッド ── 要素に対して順次アクセスする
    filter(_:)メソッド ── 要素を絞り込む
    map(_:)メソッド ── 要素を変換する
    flatMap(_:)メソッド ── 要素をシーケンスに変換し、それを1つのシーケンスに連結する
    compactMap(_:)メソッド ── 要素を、失敗する可能性のある処理を用いて変換する
    reduce(_:_:)メソッド ── 要素を1つの値にまとめる
    Collectionプロトコル ── サブスクリプトによる要素へのアクセス
    ▼4.7
    まとめ

    □第5章 制御構文
    ▼5.1
    プログラムの実行フローの制御
    ▼5.2
    条件分岐
    if文 ── 条件の成否による分岐
    条件式に使用できる型
    else節 ── 条件不成立時の処理
    if-let文 ── 値の有無による分岐
    guard文 ── 条件不成立時に早期退出する分岐
    guard文のスコープ外への退出の強制
    guard文で宣言された変数や定数へのアクセス
    if文との使い分け
    switch文 ── 複数のパターンマッチによる分岐
    ケースの網羅性チェック
    defaultキーワード ── デフォルトケースによる網羅性の保証
    whereキーワード ── ケースにマッチする条件の追加
    break文 ── ケースの実行の中断
    ラベル ── break文の制御対象の指定
    fallthrough文 ── switch文の次のケースへの制御の移動
    ▼5.3
    繰り返し
    繰り返し文の種類
    for-in文 ── シーケンスの要素の列挙
    while文 ── 継続条件による繰り返し
    repeat-while文 ── 初回実行を保証する繰り返し
    実行文の中断
    break文 ── 繰り返しの終了
    continue文 ── 繰り返しの継続
    ラベル ── break文やcontinue文の制御対象の指定
    ▼5.4
    遅延実行
    defer文 ── スコープ退出時の処理
    ▼5.5
    パターンマッチ ── 値の構造や性質による評価
    パターンの種類
    式パターン ── ~=演算子による評価
    バリューバインディングパターン ── 値の代入を伴う評価
    オプショナルパターン ── Optional型の値の有無を評価
    列挙型ケースパターン ── ケースとの一致の評価
    is演算子による型キャスティングパターン ── 型の判定による評価
    as演算子による型キャスティングパターン ── 型のキャストによる評価
    パターンマッチが使える場所
    if文
    guard文
    for-in文
    while文
    do文のcatch節
    ▼5.6
    まとめ

    □第6章 関数とクロージャ
    ▼6.1
    処理の再利用
    ▼6.2
    関数 ── 名前を持ったひとまとまりの処理
    定義方法
    実行方法
    引数
    仮引数と実引数
    外部引数名と内部引数名
    外部引数名の省略
    デフォルト引数 ── 引数のデフォルト値
    インアウト引数 ── 関数外に変更を共有する引数
    可変長引数 ── 任意の個数の値を受け取る引数
    コンパイラによる引数チェック
    戻り値
    戻り値がない関数
    コンパイラによる戻り値チェック
    暗黙的なreturn
    ▼6.3
    クロージャ ── スコープ内の変数や定数を保持したひとまとまりの処理
    定義方法
    型推論
    実行方法
    引数
    簡略引数名 ── 引数名の省略
    戻り値
    クロージャによる変数と定数のキャプチャ
    引数としてのクロージャ
    属性の指定方法
    escaping属性 ── 非同期的に実行されるクロージャ
    autoclosure属性 ── クロージャを用いた遅延評価
    トレイリングクロージャ ── 引数のクロージャを()の外に記述する記法
    クロージャとしての関数
    クロージャ式を利用した変数や定数の初期化
    ▼6.4
    まとめ

    □第7章 型の構成要素 ── プロパティ、イニシャライザ、メソッド
    ▼7.1
    型に共通するもの
    ▼7.2
    型の基本
    定義方法
    インスタンス化の方法
    型の内部でのインスタンスへのアクセス
    型の内部での型自身へのアクセス
    ▼7.3
    プロパティ ── 型に紐付いた値
    定義方法
    紐付く対象による分類
    インスタンスプロパティ ── 型のインスタンスに紐付くプロパティ
    スタティックプロパティ ── 型自身に紐付くプロパティ
    ストアドプロパティ ── 値を保持するプロパティ
    プロパティオブザーバ ── ストアドプロパティの変更の監視
    レイジーストアドプロパティ ── アクセス時まで初期化を遅延させるプロパティ
    コンピューテッドプロパティ ── 値を保持せずに算出するプロパティ
    ゲッタ ── 値の返却
    セッタ ── 値の更新
    セッタの省略
    ▼7.4
    イニシャライザ ── インスタンスの初期化処理
    定義方法
    失敗可能イニシャライザ ── 初期化の失敗を考慮したイニシャライザ
    コンパイラによる初期化チェック
    ▼7.5
    メソッド ── 型に紐付いた関数
    定義方法
    紐付く対象による分類
    インスタンスメソッド ── 型のインスタンスに紐付くメソッド
    スタティックメソッド ── 型自身に紐付くメソッド
    オーバーロード ── 型が異なる同名のメソッドの定義
    引数によるオーバーロード
    戻り値によるオーバーロード
    ▼7.6
    サブスクリプト ── コレクションの要素へのアクセス
    定義方法
    セッタの省略
    オーバーロード ── 型が異なるサブスクリプトの定義
    ▼7.7
    エクステンション ── 型の拡張
    定義方法
    メソッドの追加
    コンピューテッドプロパティの追加
    イニシャライザの追加
    ▼7.8
    型のネスト
    定義方法
    ▼7.9
    まとめ

    □第8章 型の種類 ── 構造体、クラス、列挙型
    ▼8.1
    型の種類を使い分ける目的
    ▼8.2
    値の受け渡し方法による分類
    値型 ── 値を表す型
    変数と定数への代入とコピー
    mutatingキーワード ── 自身の値の変更を宣言するキーワード
    参照型 ── 値への参照を表す型
    値の変更の共有
    値型と参照型の使い分け
    ▼8.3
    構造体 ── 値型のデータ構造
    定義方法
    ストアドプロパティの変更による値の変更
    定数のストアドプロパティは変更できない
    メソッド内のストアドプロパティの変更にはmutatingキーワードが必要
    メンバーワイズイニシャライザ ── デフォルトで用意されるイニシャライザ
    メンバーワイズイニシャライザのデフォルト引数
    ▼8.4
    クラス ── 参照型のデータ構造
    定義方法
    継承 ── 型の構成要素の引き継ぎ
    定義方法
    オーバーライド ── 型の構成要素の再定義
    finalキーワード ── 継承とオーバーライドの禁止
    クラスに紐付く要素
    クラスプロパティ ── クラス自身に紐付くプロパティ
    クラスメソッド ── クラス自身に紐付くメソッド
    スタティックプロパティ、スタティックメソッドとの使い分け
    イニシャライザの種類と初期化のプロセス
    指定イニシャライザ ── 主となるイニシャライザ
    コンビニエンスイニシャライザ ── 指定イニシャライザをラップするイニシャライザ
    2段階初期化
    デフォルトイニシャライザ ── プロパティの初期化が不要な場合に定義されるイニシャライザ
    クラスのメモリ管理
    デイニシャライザ ── インスタンスの終了処理
    値の比較と参照の比較
    ▼8.5
    列挙型 ── 複数の識別子をまとめる型
    定義方法
    ローバリュー ── 実体の定義
    ローバリューのデフォルト値
    連想値 ── 付加情報の付与
    CaseIterableプロトコル ── 要素列挙のプロトコル
    コンパイラによるallCasesプロ
  • 内容紹介

    本書は、Swiftの言語仕様と実践的な利用方法を解説した入門書です。増補改訂第3版では、新バージョンのSwift 5に対応し、実践入門という趣旨に合わせて、第16章「Webサービスとの連携」と第17章「ユニットテスト」を新設しました。

     Swiftは簡潔な言語ですが、その言語仕様を理解し、正しく使うことはけっして容易ではありません。Appleの公式ドキュメントをはじめとして、どんな言語仕様があり、それらをどのように使うかに関しては豊富な情報源があります。しかし、それらがなぜ存在し、いつ使うべきかについてまとまった情報があるとは言えません。本書は、読者のみなさんの「なぜ」や「いつ」を解消することにも主眼を置いています。

     本書では、はじめにSwiftの標準的な機能を一通り解説し、続いて型の設計指針や非同期処理、エラー処理などの実装パターンを説明します。最後に、実践的なSwiftアプリケーションの開発を通じて、それまでに説明した機能と実装パターンの具体的な活用方法を示します。
  • 著者について

    石川 洋資、西山 勇世 (イシカワ ヨウスケ ニシヤマ ユウセイ)
    # 石川 洋資(いしかわ ようすけ)
    大学在学中からiOSアプリ開発に取り組み、面白法人カヤック、LINE株式会社、株式会社メルカリでiOSアプリの開発に携わる。現在は株式会社10Xの取締役CTOとして、開発全般を担当する。APIKit、DIKit、DataSourceKitなどのSwift製ライブラリの作者でもある。

    GitHub:ishkawa

    # 西山 勇世(にしやま ゆうせい)
    大学では文学を専攻するも、論理学を経て計算機科学に関心を持つようになり、プログラマを志す。クックパッド株式会社のイギリス支社を経て、現在はドイツ・ベルリンにてSoundCloudに勤務。文理の垣根を超えた、芸術・哲学・科学の関連性に関心がある。

    GitHub:yuseinishiyama

Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ) の商品スペック

商品仕様
出版社名:技術評論社
著者名:石川 洋資(著)/西山 勇世(著)
発行年月日:2020/04/28
ISBN-10:4297112132
ISBN-13:9784297112134
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:453ページ
縦:21cm
他の技術評論社の書籍を探す

    技術評論社 Swift実践入門―直感的な文法と安全性を兼ね備えた言語 増補改訂第3版 (WEB+DB PRESS plusシリーズ) [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!