ISBN: 978-4-297-14190-5
[改訂第3版]Swiftポケットリファレンス
WINGSプロジェクト 片渕彼富 著
| 著者 | WINGSプロジェクト 片渕彼富 |
|---|---|
| 監修 | 山田祥寛 |
| 出版社 | 技術評論社 |
| 価格 | 3,200円(税別) |
| 判形 | 四六版・2色 |
| ページ数 | 536ページ |
| 発売日 | 2024年7月3日 |
| シリーズ | ポケットリファレンス |
| 対象レベル | 中級 |
待望のSwiftUI対応版
UIKit版からSwiftUI対応版へと、内容を大きく刷新した改訂版です。Swiftは、変化が激しくアップデートのたびに改良/改変される内容がまだたくさんあります。そんなSwiftを使いこなすうえで、困ったときにすぐにコードの書き方を確認できる本書が役立ちます。ベースとなる基本的な項目を中心に、コンパクトにまとめ整理して、すぐに動作を確認できるサンプルとともに解説しています。
本書掲載のサンプルは、サポートページからダウンロード可能。
更新履歴
- 正誤訂正:2024年7月7日 更新
目次
- Chapter 1 iOSアプリ開発の基本
- 概要
- 開発に必要な環境
- iOSアプリ開発について
- Xcodeの基本的な使い方
- Chapter 2 Swiftの基本的な使い方
- Swiftとは
- データ型と変数
- データ型
- 変数/定数を宣言する
- タプルを利用する
- nilを許容して変数を宣言する
- ジェネリックスで変数を宣言する
- 型を変換する
- 変数を出力する
- 演算子
- 制御文
- 処理を分岐する
- 複数の条件で処理を分岐する
- 処理を繰り返す
- 1回実行した後に処理を繰り返す
- 上限を決めて処理を繰り返す
- コレクション内で処理を繰り返す
- 処理を抜け出す
- 処理をスキップする
- クラス
- クラスを定義する
- モジュールをインポートする
- プロパティを定義する
- メソッドを定義する
- 可変長引数を利用したメソッドを定義する
- クラスメソッドを定義する
- ジェネリックス型のメソッドを定義する
- インスタンスを生成する/初期化する/メモリを解放する
- メソッドを実行する
- スーパークラスのメソッドを実行する
- エクステンションを利用する
- クロージャを利用する
- コメントを記述する
- プロトコルと構造体
- プロトコルを定義する
- 構造体を定義する
- 例外処理
- 例外時のエラーを投げるメソッドを定義する
- 例外処理を定義する
- 列挙型
- 列挙型を定義する
- 列挙型の値を参照する/値から列挙型にアクセスする
- Chapter 3 よく利用されるオブジェクト
- 概要
- 文字列
- 文字列を利用する
- 文字列を置換する
- 文字列を削除する
- 配列
- 配列を利用する
- 配列の要素の数を取得する
- 配列に要素を追加する
- 配列から要素を削除する
- 配列の要素をソートする
- 配列のインデックス番号と要素を取得する
- 配列の全要素を順番に取得する
- 配列の全要素に対して処理を行う
- 配列の条件にマッチする要素のみを取り出す
- 配列の要素をまとめて1つにする
- 配列の要素を平坦化して抽出する
- 配列の最大/最小の要素を取得する
- 辞書
- 辞書を利用する
- 辞書の要素の数を取得する
- すべてのキー/値を取得する
- 辞書から要素を削除する
- 要素の値に対して処理を行う
- 条件にマッチする要素を抽出する/要素の値をまとめる
- 配列をグループ化する
- バイナリデータ
- バイナリデータを扱う
- データをファイルへ出力する
- データを追加する
- 日時
- 日時を取得する
- 日時のフォーマットを指定する
- ローカル時間を取得する
- 時間を加算する
- Chapter 4 画面を作成する
- 画面構成のプログラミング
- アプリを管理する
- アプリのコンテンツを指定する
- 最初の画面を指定する
- 画面を表示する
- 画面を定義する/表示する
- プレビューを表示する
- セーフエリア外の領域を利用する
- UIを利用する
- ビューを表示する
- ビューの属性を指定する
- ビュー内でバインディング変数を利用する
- ビュー間でバインディング変数を利用する
- レイアウト
- 縦に表示するレイアウトを利用する
- 横に表示するレイアウトを利用する
- 重ねて表示するレイアウトを利用する
- スペーサーを利用する
- ナビゲーション
- ナビゲーションを利用する
- 次の画面へ遷移する
- オブジェクトを伴って次の画面へ遷移する
- 画面を分割する
- 分割スタイルを指定する
- モーダル
- 画面をモーダルで表示する
- 部分的にモーダルを表示する
- ポップオーバーを表示する
- タブ
- タブを利用する
- タブのスタイルを指定する
- Chapter 5 コンテンツを表示する
- 概要
- 2D図形
- 2D図形を表示する
- 背景に2D図形を利用する
- 画像
- 画像を表示する
- 画像のサイズを調整する
- テキスト
- テキストを表示する
- 複数行のテキストを表示する
- ラベル
- ラベルを表示する
- ラベルのスタイルを指定する
- コレクション
- コレクションの要素を一意にする
- コレクションの要素を識別する
- コレクションを一覧で表示する
- リスト
- リストを表示する
- リストから選択する
- スクロールビュー
- スクロールビューを表示する
- スクロールにスナップを実装する
- グリッド
- グリッドを表示する
- グリッドの行を表示する
- グリッドのスペースを確保する
- グリッドの列を統合する
- 縦スクロールに組み込む
- 横スクロールに組み込む
- スクロールの列/行を定義する
- テーブル
- テーブルを表示する
- コンテクストメニューを表示する
- 地図
- 緯度経度を利用する
- 範囲を利用する
- ズームを利用する
- 仮想カメラを利用する
- 地図を表示する
- 地図のスタイルを指定する
- 地図の詳細スタイルを指定する
- 3Dマップを表示する
- コントローラーを表示する
- マーカーを表示する
- アノテーションを表示する
- タップした地点を取得する
- タップした場所の緯度経度を取得する
- 円形オーバーレイを表示する
- 地図内の地点を検索する
- 周辺の景色を取得する
- 進捗状態
- 進捗状態を表示する
- 進捗状態を指定する
- ビューの拡張
- モディファイアを定義する
- ビューを構築するメソッドを簡略化する
- 再利用可能なビューを定義する
- Chapter 6 UI部品を利用する
- 概要
- UIをまとめる
- フォームを利用する
- セクションを利用する
- グループ化する
- 視覚的にグループ化する
- 階層的にグループ化する
- ラベルを付加してコンテンツを表示する
- 区切りを設ける
- バーの利用
- ナビゲーションバーを利用する
- ツールバーを利用する
- ツールバーのアイテムを利用する
- 検索バーを表示する
- テキスト入力
- テキストフィールドを利用する
- テキストフィールドのスタイルを指定する
- テキストフィールドの行数を指定する
- セキュアなテキストフィールドを利用する
- 複数行のテキスト入力欄を利用する
- 行揃え/行間のスペース/単語の自動修正を設定する
- キーボードの種類を指定する
- 操作による入力
- ボタンを利用する
- ボタンのスタイルを指定する
- スライダーを利用する
- ステッパーを利用する
- トグルを利用する
- トグルのスタイルを指定する
- ピッカーを利用する
- 日付ピッカーを利用する
- 日付ピッカーのスタイルを指定する
- 複数日付ピッカーを利用する
- カラーピッカーを利用する
- 警告と確認
- アラートを表示する
- 確認ダイアログを表示する
- 動作時の処理
- ビューが表示されたときの処理を指定する
- 値が変更された際の処理を定義する
- フォーカスする/外すときの処理を定義する
- アニメーション
- アニメーションを利用する
- アニメーションの処理を定義する
- Chapter 7 データフローと非同期処理
- 概要
- データフロー
- オブジェクトを観測可能にする
- 観測可能なオブジェクトを環境に配置する
- 観測可能なオブジェクトを環境から取得する
- 観測可能なオブジェクトをバインディング可能にする
- 値が変更された際の処理を行う
- 非同期処理
- 非同期な処理を定義する
- 非同期処理の値を取得する/並列して実行する
- 同期処理の中で非同期処理を実行する
- 同期処理から並列的に非同期処理を実行する
- エラーを定義する
- 処理の結果を定義する
- 排他制御可能な型を利用する
- Chapter 8 画面の操作を処理する
- 概要
- ジェスチャー
- ジェスチャーを登録する
- ジェスチャー中/終了時の処理を指定する
- ジェスチャーによる状態の変化を参照する変数を宣言する
- ジェスチャー時の状態の変化に応じた処理を指定する
- タップを利用する
- 長押しを利用する
- ドラッグを利用する
- 拡大/縮小の動きを利用する
- 回転の動きを利用する
- 2つのジェスチャーを同時に実行する
- 2つのジェスチャーを順番に実行する
- 画面上の位置関係
- タップした位置を利用する
- ビューのサイズを利用する
- ビューの特定の領域で処理を行う
- Chapter 9 端末の機能を利用する
- 概要
- 位置情報
- 位置情報の利用を許可する
- 位置情報の許可状況を参照する
- 正確な位置情報の取得を許可する
- 緯度経度の取得を開始/停止する
- 緯度経度を参照する
- 住所/地名から緯度経度を取得する
- 緯度経度から住所を取得する
- フォトライブラリ/カメラ
- フォトライブラリを表示する
- カメラを利用する
- ファイル取得時/キャンセル時の処理を指定する
- 撮影時の詳細を指定する
- 撮影した画像/動画を保存する
- 端末の機能
- システム情報を参照する
- 通知センターを利用する
- 情報を共有する
- アプリからほかのアプリを起動する
- タイマーを利用する
- 生体認証を利用する
- Chapter 10 データを利用する
- 概要
- アプリ内部でのデータ保存
- アプリの設定としてデータを保存する
- 設定したデータを取得する
- ディレクトリを利用する
- ファイルパスを結合する
- ファイルに文字列を書き込む
- ファイルの存在を確認する
- ファイルの内容を取得する
- 画像データ
- 画像データを生成する
- 画像編集用データを生成する
- 画像データを出力する
- 画像にフィルタをかける
- 動画
- 動画プレイヤーを表示する
- 動画ファイルを再生/停止する
- 音声
- 音声ファイルを再生する
- 音量を調整/繰り返し再生する
- Chapter 11 ネットワークを利用する
- 概要
- HTTP通信
- リクエスト先を指定する
- HTTPリクエストを生成する
- HTTPセッションを生成する
- HTTP通信の詳細を指定する
- ダウンロードの方法を定義する
- HTTP通信を行う
- ダウンロード中/完了時の処理を指定する
- ステータスコードを取得する
- URLから画像を表示する
- JSONの構造をマップする
- JSONを解析する
- Chapter 12 画像認識を利用する
- 概要
- 画像の認識
- 画像解析リクエストを生成する
- 画像解析リクエストを実行する
- 矩形を検出する
- テキストを認識する
- テキストの領域を認識する
- 顔を検出する
- リアルタイムな画像の認識
- セッションを管理する
- 入力デバイスを管理する
- カメラからの入力を管理する
- 出力される映像を管理する
- フレームごとの映像を管理する
- Chapter 13 UIKitを利用する
- 概要
- UIKitの利用
- UIKitのUI部品を利用する
- SwiftUIのビューの更新時にUIViewに対して行う処理を指定する
- UIViewからSwiftUIへ情報を伝える
- ビューコントローラーの利用
- UIKitのビューコントローラーを利用する
- SwiftUIのビューの更新時にUIViewControllerに対して行う処理を指定する
- UIViewControllerからSwiftUIへ情報を伝える
- COLUMN
- Swiftでの初期化処理
- 列挙型とプロトコル
- Swiftでの例外処理
- 列挙型で定義される並列関係にある値
- メソッドチェーン
- 引数にジェネリックスを使ったメソッド
- UI部品を作成する例
- 状態の管理に関するプロパティラッパーのまとめ
- SwiftUIからGoogle Mapsを利用する
- WWDCで公開されたアプリのサンプルコード
- ディレクトリの共有
- do-catch文を使えるメソッド
- Core Imageで顔認識を行う
- AVAudioPlayerのほかの機能
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.33 | サンプル 1行目 | - |
| for var i=0; i<3; i++ { | for i in 0 ..< 3 { | 2024/07/06 |
| p.49 | サンプル 上から3行目 | - |
| a++ | a += 1 | 2024/07/06 |
| p.49 | サンプルファイル名 | - |
| View.swift | WhileView.swif | 2024/07/07 |
| p.50 | サンプル 上から3行目 | - |
| b++ | b += 1 | 2024/07/06 |
| p.57 | サンプル | - |
| // UIKit フレームワークをインポート import UIKit class OperatorViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() |
// SwiftUIフレームワークをインポート import SwiftUI struct OperatorView: View { var body: some View { # 略 |
2024/07/06 |
| p.328 | サンプルファイル名 | - |
| .swift | ContentView.swift | 2024/07/07 |
| p.330 | サンプルファイル名 | - |
| .swift | ContentView.swift | 2024/07/07 |
| p.333 | サンプルファイル名 | - |
| .swift | ContentView.swift | 2024/07/07 |
| p.335 | サンプルファイル名 | - |
| .swift | RandomAPIExample1View.swift | 2024/07/07 |
FAQ
現在、FAQはありません。
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。