iPhoneアプリ開発講座 はじめてのSwift


iPhoneアプリ開発講座 はじめてのSwift


SBクリエイティブ


著者:諏訪悠紀


はじめに

CHAPTER 01 プログラミングの基礎知識
01 プログラムとは
02 プログラミング言語とは
03 コンピュータがプログラムを理解する仕組み
04 iPhoneアプリ開発のためのプログラミング言語「Swift」
モダン
安全
高速
インタラクティブ
05 プログラミングに必要な準備
Mac
Xcode
iOSデバイス(iPhone/iPod touch/iPad)

CHAPTER 02 プログラミングを始めるための準備
01 Xcodeのインストール
02 Playgroundを開く
Playgroundの画面構成
 ソースエディタ(Source Editor)
 リザルトサイドバー(Results Sidebar)
03 コードを書いてみよう
コードの作成
コードの解説
正しいコードと間違ったコード
コンソールへのログ出力
複数のログの出力
コード補完
コード補完の仕組み
コメント

CHAPTER 03 Swiftの基本的な文法
01 変数と定数
変数
 変数の宣言と代入
 変数の再代入
定数
 定数の宣言と代入
 定数の再代入できない
変数と定数の名前を付けるルール
 既に存在する変数や定数と、同じ名前を付けることはできない
 予約語を使ってはいけない
 複数の単語を使うときはキャメルケースを使う
02 値の型
リテラル
型注釈
型推論
基本的な型
 String型
 Int型
 Double型、Float型
 Bool型
文字列補完
型の機能
 プロパティ
 メソッド
 イニシャライザ
03 コレクション
Array型
 配列の作成
 要素の取り出し・差し替え
 要素の追加
 要素の削除
 型注釈と初期化
Dictionary型
 Dictionary型の値の作成
 要素の取り出し・差し替え
 要素の追加
 要素の削除
 型注釈と初期化
Set型
 Set型の値の作成
 要素の追加
 要素の削除
 型注釈と初期化
 Set型と集合演算
04 演算子
算術演算子
代入演算子と複合代入演算子
比較演算子
論理演算子
05 制御構文
条件分岐
 if文
 if-else文
 switch文
繰り返し文
 for文
 while文
06 関数
関数の定義
関数の呼び出し
引数
戻り値(返り値)
引数と戻値の組み合わせ
外部引数名
引数名の省略
引数のデフォルト値
スコープ
関数名の決まりごと
07 オプショナル
オプショナルとは
オプショナルの書き方
オプショナルチェーンを使った値の取り出し
 オプショナルチェーンの連結
オプショナルの強制的なアンラップ
強制的なアンラップの注意点
暗黙的なアンラップ
オプショナルバインディング

CHAPTER 04 Swiftとオブジェクト指向プログラミング
01 オブジェクト指向プログラミングとは
02 型
型とインスタンス
03 クラス
クラスの定義
クラスでできること
04 プロパティ
格納型プロパティ
計算型プロパティ
型プロパティ
プロパティの監視
05 メソッド
インスタンスメソッド
selfキーワード
型メソッド
06 サブスクリプト
07 参照カウント
ARCによるインスタンスの生成・破棄
循環参照
強い参照と弱い参照
08 イニシャライザとデイニシャライザ
イニシャライザ
デイニシャライザ
09 継承
クラスの継承
オーバーライド
superキーワード
イニシャライザの継承
10 ストラクチャ
ストラクチャの定義
ストラクチャでできること
参照型と値型の違い
プロパティとイニシャライザ
11 列挙型
列挙型の定義
値の定義
switch文を使ったマッチング
12 プロトコル
プロトコルの定義と準拠
プロパティの定義
メソッドの定義
プロトコルの型としての使用
デリゲートの活用
13 エクステンション
エクステンションの定義
準拠するプロトコルの追加

CHAPTER 05 Swiftの発展的な文法
01 タプル
タプルの定義
タプルに含まれている値の参照
値の名前付きのタプルを定義する
関数の戻り値をタプルにする
02 関数オブジェクト
関数の型
関数オブジェクトの呼び出し
引数と戻り値がない関数の型
関数を引数にする
関数オブジェクトを戻り値にする
03 クロージャ
関数のネスト
ネストした関数による値のキャプチャ
クロージャ式
クロージャ式を引数や戻り値で使う
クロージャ式の省略記法
末尾のクロージャ
クロージャとは
04 型のキャスト
アップキャスト
ダウンキャスト
型の✓✔チェック
Any型とAnyObject型
 Any型
 AnyObject型
プロトコルのキャスト

CHAPTER 06 iOSアプリ開発入門
01 iOS SDKとフレームワーク
SDKとは
フレームワークとは
UIKitフレームワーク
02 iOSアプリの動作の仕組み
UIApplicationとUIApplicationDelegate
03 iOSアプリのUIの仕組み
iOSアプリの画面の表示
ビューコントローラを使った画面構成と画面遷移
ユーザーの操作のイベント
コントロールとアクション
Storybord
Auto Layout
PlaygroundとiOSアプリ開発の違い
04 サンプルアプリの作成
Xcodeプロジェクトの新規作成
テンプレートの選択
Xcodeプロジェクトの設定
Xcodeの画面構成
 ツールバーエリア
 ナビゲータエリア
 エディタエリア
 ユーティリティエリア
 デバッグエリア
Xcodeプロジェクトの構成
サンプルプロジェクトのソースコードを読む
 AppDelegateクラスを読む
 ViewControllerクラスを読む
Storybordでシーンを編集する
 Storybordの画面構成
 シーンにビューを追加する
 ラベルにAuto Layoutの制約を追加する
ビューコントローラで制御を加える
 アクションの設定
 アクション設定の詳細
 アウトレットの設定
 アウトレット設定の詳細
 エディタ表示に関する設定
 メソッドに処理を記述する
実行する
 エラーになってしまった場合
まとめ

CHAPTER 07 iOSアプリ開発レシピ
Recipe 01 電卓アプリ
作り方
Xcodeプロジェクトの作成
ビューの配置
表示するテキストの設定
ビューのレイアウト
 水平方向にまとめる
 垂直方向にまとめる
 制約の設定
 UIStackViewの設定
アウトレットとアクションの接続
 ラベルのアウトレットの設定
 ボタンアクションの設定
計算を行うコードの記述
 プロパティの定義
 数値の入力
 演算の種類の入力
 結果の表示
 オールクリア
完成したアプリを動作させてみよう
作り方
Recipe 02 タイマーアプリ
Xcodeプロジェクトの作成
ビューの配置
ラベルとボタンの属性の変更
ビューのレイアウト
 UIStackViewの作成
 AutoLayoutの制約の設定
アウトレットとアクションの接続
プログラムの記述
 タイマー処理の全体的な流れ
 プロパティの定義
 タイマーを開始するメソッドの実装
 更新するメソッドの実装
完成したアプリを実行してみよう
作り方
Recipe 03 マップアプリ
Xcodeプロジェクトの作成
マップビューの使用
 マップビューの配置
 マップビューのレイアウト
 マップビューのアウトレット接続
CoreLocationフレームワークを使った現在値の取得
 ユーザーの許可の設定
 ユーザーの許可のリクエスト
 現在値の取得
 マップビューに現在地を表示する
完成したアプリを動作させてみよう
Recipe 04 図鑑アプリ
作り方
Xcodeプロジェクトの作成
一覧画面の作成
 UITableViewの配置と制約の設定
 UITableViewCellの追加
 UITableViewのアウトレット接続の作成
 データの作成
 デリゲートの設定
画面遷移の作成
 1.詳細画面のシーンの作成
 2.UINavigationControllerの作成
 3.一覧画面と詳細画面を繋ぐぐセグエの作成
詳細画面の作成
 ビューコントローラの作成
 ラベルの配置、レイアウト、アウトレット接続
 一覧画面と詳細画面の値の受け渡し
完成したアプリを動作させてみよう
Photosフレームワーク
Recipe 05 写真ビューアアプリ
Xcodeプロジェクトの作成
ユーザーの許可の設定
UICollectionViewの配置とレイアウト
UICollectionViewCellの追加
アウトレット接続の作成
UICollectionViewのデリゲートの使用
Photosフレームワークを用いた写真データの取得
セルごとの画像の表示
完成したアプリを動作させてみよう
まとめ

終わりに
 本書で学んだ後は
 Swift言語仕様について
  The Swift Programming Language
  Swift Blog
  AppleのGitHubリポジトリ
  Swift.org
  Swift Playgrounds
 iPhoneアプリ開発について
  iOS Developer Library
  Apple Developer 日本語ドキュメント
  Apple Developer API Reference
  Developers.IO

INDEX

書籍目次

Posted by shi-n