「詳細!Swift iPhoneアプリ開発入門ノート(iOS 12 + Xcode 10対応)」を書きました。11/3に発売開始です。
ご存じのように新しいiPhoneが発売になるタイミングに合わせてiOSのバージョンが上がります。今回はiOS12です。そして、それに合わせてSwiftとXcodeのバージョンも上がります。Swiftは去年のSwift 4から4.2への枝番号のアップに留まっていますが、実際には細かな修正が行われていて、ver4のコードでは注意書きが出るものが少なくありません。もちろん、機能アップもあります。その目玉はなんと言っても拡張現実のARKitです。昨年出たARKitは春先に1.5になり、今回 ARKit 2になっています。
本書は、はじめてiPhoneアプリ開発にチャレンジするという初心者の方から、すでにSwiftを習得されている中級者の方までを対象としています。最新のiOS 12とXcode 10を使ったiPhoneアプリ開発の基礎知識から最新のARKit 2の技術までを詳細に解説しています。
書名:詳細!Swift iPhoneアプリ開発入門ノート iOS 12 + Xcode 10対応
著者:大重美幸
体裁:B5変形・2色刷り・656ページ
価格:3,200円+税
ISBN:978-4-8007-1223-3
配本日:2018年11月2日
目次↓
C O N T E N T S
【Part 1】概要~最初の話~:ハローワールド
Chapter 1 はじめてのXcode
Section 1-1 iOS アプリ開発の準備 ................................................... 10
Section 1-2 ハローワールド............................................................ 12
Section 1-3 Playground で試す ...................................................... 20
【Part 2】 基礎知識 ~実力を蓄える~:Swift のシンタックス
Chapter 2 基本シンタックス
Section 2-1 ステートメントとデバッグ関数....................................... 24
Section 2-2 定数と変数.................................................................. 31
Section 2-3 タプル........................................................................ 43
Section 2-4 演算子........................................................................ 47
Section 2-5 条件で処理を分岐する if 文 .......................................... 55
Section 2-6 値で処理を分岐する switch 文 .................................... 62
Section 2-7 処理を繰り返す for-in 文 ............................................. 67
Section 2-8 条件が満たされている間繰り返す while 文 ..................... 71
Section 2-9 繰り返しのスキップや中断............................................. 74
Chapter 3 関数を定義する
Section 3-1 関数を定義する............................................................ 78
Section 3-2 引数がある関数............................................................ 84
Section 3-3 外部引数名を付ける...................................................... 92
Chapter 4 ストリング String
Section 4-1 ストリングを作る......................................................... 98
Section 4-2 ストリングの比較と検索............................................. 103
Chapter 5 配列 Array
Section 5-1 配列を作る............................................................... 108
Section 5-2 配列から値を取り出す、スライスする........................... 113
Section 5-3 配列の値の追加と削除................................................ 118
Section 5-4 ソート、フィルタ、マップ.......................................... 122
Chapter 6 辞書 Dictionary
Section 6-1 辞書を作る............................................................... 126
Section 6-2 辞書の値の参照、更新、追加、削除.............................. 129
Chapter 7 集合 Set
Section 7-1 セットを作る............................................................ 136
Section 7-2 セットの集合演算...................................................... 140
Chapter 8 オプショナル
Section 8-1 オプショナル............................................................ 146
Section 8-2 オプショナルバリューがnil の場合に対応する ............... 149
Chapter 9 クラス
Section 9-1 クラス定義 ............................................................ 156
Section 9-2 イニシャライザ ...................................................... 164
Section 9-3 Computed プロパティとプロパティオブザーバー ......... 170
Section 9-4 クラスメンバー ...................................................... 173
Section 9-5 アクセス権 ............................................................ 178
Section 9-6 クラスの拡張 ......................................................... 182
Chapter 10 列挙型と構造体
Section 10-1 列挙型 enum ......................................................... 192
Section 10-2 列挙型にプロパティとメソッドを実装する..................... 201
Section 10-3 構造体 struct ......................................................... 206
Section 10-4 イニシャライザやメソッドがある構造体........................ 211
Chapter 11 オートリサイジングとオートレイアウト
Section 11-1 オートリサイジングで位置調整.................................... 218
Section 11-2 オートリサイジングで拡大縮小.................................... 223
Section 11-3 オートレイアウトで位置決めする................................. 228
Section 11-4 オートレイアウトで位置揃えと幅を調整する.................. 232
Section 11-5 オートレイアウトのConstraint を修正する .................. 237
【Part 3】 実践入門~作って学ぶ~:iOS アプリを作る
Chapter 12 アシスタントエディタとUI 部品の使い方
Section 12-1 アシスタントエディタを使う....................................... 240
Section 12-2 ラベルを使う UILabel クラス .................................... 252
Section 12-3 ボタンを使う UIButton クラス ................................. 258
Section 12-4 ステッパーを使う UIStepper クラス ........................... 266
Section 12-5 スイッチを使う UISwitch クラス .............................. 271
Section 12-6 選択肢ボタンを使う UISegmentedControl クラス ......... 274
Section 12-7 スライダを使う UISlider クラス ................................. 279
Section 12-8 テキストフィールドを使う UITextField クラス ............ 283
Section 12-9 ピッカービューを使う UIPickerView クラス ............... 296
Section 12-10 UI 部品のクラス継承 ................................................ 304
Chapter 13 ビューと画像
Section 13-1 ビューの作成と表示................................................... 308
Section 13-2 画像の表示............................................................... 314
Section 13-3 ビューの座標と領域................................................... 320
Section 13-4 スタックビューの活用 UIStackView クラス ............... 326
Section 13-5 テーブルビュー UITableView クラス ........................... 333
Section 13-6 スクロールビュー UIScrollView クラス ..................... 341
Section 13-7 キーボードに隠れないようにスクロールする.................. 352
Chapter 14 シーンの作成と移動
Section 14-1 シーンとビューコントローラ....................................... 368
Section 14-2 セグエでシーンを移動する.......................................... 370
Section 14-3 コードを使ってシーンを移動する................................. 375
Section 14-4 ナビゲーションコントローラで遷移する........................ 381
Section 14-5 ナビゲーションコントローラとテーブルビュー............... 388
Section 14-6 タブバーでシーンを切り替える.................................... 403
Section 14-7 アラートを表示する................................................... 408
Section 14-8 アクションシートを表示する....................................... 416
Chapter 15 ビューのアニメーション
Section 15-1 イーズインアウトのアニメーション.............................. 422
Section 15-2 複数のアニメーションを合成する................................. 428
Section 15-3 アニメーションを連結する.......................................... 432
Section 15-4 ビュー更新の映像効果................................................ 436
Chapter 16 フィンガーアクション
Section 16-1 ビューをドラッグする................................................ 442
Section 16-2 2本の指でビューを回す............................................. 447
Section 16-3 コードでジェスチャーレコグナイザを設定する............... 451
Chapter 17 図形の描画
Section 17-1 図形イメージを描く................................................... 454
Section 17-2 円弧と扇形を描く...................................................... 459
Section 17-3 直線を引く............................................................... 467
Section 17-4 ベジェ曲線を引く...................................................... 473
Section 17-5 図形の重なりの塗り................................................... 478
Chapter 18 データの保存と読み込み
Section 18-1 ユーザーデフォルトを利用する.................................... 484
Section 18-2 テキストファイルの保存と読み込み.............................. 488
Section 18-3 テキストビューをキーボードのサイズに合わせる............ 492
Chapter 19 デバイスの機能を使う
Section 19-1 オートローテーションと画面回転の制限........................ 498
Section 19-2 デバイスの回転と表/裏のイベント通知........................ 502
Section 19-3 カメラで写真撮影する................................................ 506
Section 19-4 撮った写真をシェアする............................................. 520
Section 19-5 位置情報と方位コンパス............................................. 524
Section 19-6 地図を表示する......................................................... 536
Section 19-7 地図にピンを刺す、描画する....................................... 544
Section 19-8 モーションセンサーの測定値を調べる........................... 556
Chapter 20 ARKit で拡張現実
Section 20-1 ARKit を使ってみよう ................................................ 562
Section 20-2 アニメーションする3D のAR オブジェクト .................. 568
Section 20-3 水平面/垂直面を検出しAR 空間に投影する .................. 573
Section 20-4 水平面にオブジェクトを置く....................................... 580
Section 20-5 AR 空間に物理ボディを追加する ................................. 587
Section 20-6 配置したノードとのヒットテスト................................. 599
Section 20-7 カメラの方向を向かせる............................................. 606
Section 20-8 登録画像を画像認識................................................... 611
Section 20-9 物体認識を試す......................................................... 618
Section 20-10 ワールドマップを共有する.......................................... 627
INDEX................................................................................. 643