浜村拓夫(・∀・)作品集

頭の中にあるイメージを表現できるデザイン力が欲しいです(><)

Swiftではじめる iPhoneアプリ開発の教科書 【Swift 2&Xcode 7対応】

iPhoneアプリ作成方法を学ぶための参考書を買ってきました。

→「Swiftではじめる iPhoneアプリ開発の教科書 【Swift 2&Xcode 7対応】」という本です。

 

Swiftではじめる iPhoneアプリ開発の教科書 【Swift 2&Xcode 7対応】 (教科書シリーズ)

Swiftではじめる iPhoneアプリ開発の教科書 【Swift 2&Xcode 7対応】 (教科書シリーズ)

 

 

自分にとっては、分かりやすい説明だったので、この本を利用して、iPhoneアプリの作り方の基本を学んでみようと思います。

 

●目次

Chapter 1 アプリ開発をはじめよう!

   1-1 開発に必要なものはなに?
      iPhoneアプリを作ろう!
      開発に必要なものは?

   1-2 Xcodeをインストール
      Xcodeのインストール

   1-3 アプリ開発に必要な作業とは?
      アプリ開発に必要な作業

   1-4 Xcodeを試運転しよう
      チュートリアル Helloアプリを作ってみよう

 

Chapter 2 Xcodeの使い方を知る

   2-1 プロジェクトを作る:New Project
      チュートリアル ボタンアプリを作ってみよう
      プロジェクトを作る
      テンプレートで選ぶ
      プロジェクトの基本情報を入力する

   2-2 Xcodeの画面について
      基本画面の説明
      ナビゲータエリア
      ツールバー
      エディターエリア
      ユーティリティエリア

   2-3 画面をデザインする:Interface Builder
      Interface Builderで画面をデザインする
      ライブラリから部品を配置する
      インスペクタで部品を設定する
      AutoLayout【自動設定編】

   2-4 部品とプログラムをつなく:Assistant Editor
      アシスタントエディターで、部品とプロジェクトをつなぐ
      IBOutlet接続:部品に名前をつける
      IBAction接続:部品と仕事をつなぐ

   2-5 プログラムを書く:SourceEditor
      ソースエディターでプログラムを書く
      プログラム入力時は、アシスト機能が働く

   2-6 シミュレータでテストする:Simulator
      Simulatorでテスト
      iPhoneの種類を切り換えて実行する方法
      Simulatorの基本操作

 

Chapter 3 Playgroundを使ったSwiftプログラミング

   3-1 Swiftってなに?
      Swiftってなに?
      Playgroundとは
      チュートリアル Playgroundを使おう!

   3-2 プログラムってなに?
      プログラムってなに?
      プログラムの基本

   3-3 データを扱う
      変数(へんすう)と定数(定数)
      [定数] と [定数] の違い
      [定数] と [定数] のエラー
      名前のつけ方【変数名、定数名】

   3-4 データの型
      データ型とは
      データ型の種類
      型変換

   3-5 プログラムを制御する
      制御文
      if文 [分岐処理]
      switch文 [分岐処理]
      while文 [繰り返し処理]
      for文 [繰り返し処理]

   3-6 複数データを扱う
      複数データを扱う
      配列(Array)
      配列(Array)を作る
      配列(Array)を調べる
      配列(Array)を操作する
      辞書データ(Dictionary)
      辞書データ(Dictionary)を作る
      辞書データ(Dictionary)を調べる
      辞書データ(Dictionary)を操作する
      タプル(Tuple)
      タプル(Tuple)の使い方

   3-7 関数(メソッド)
      関数とは?
      関数の作り方と呼び出し方
      引数
      戻り値

   3-8 オプショナル型
      変数にnilを入れると、エラーになる
      オプショナル型はなぜ必要?
      オプショナル型の変数を作る:ラップする
      オプショナル型の変数から値を取り出す方法

   3-9 クラス
      オブジェクト指向とは?
      クラスは、設計図
      クラスの作り方
      クラスの使い方
      クラスの継承とオーバーライド

 

Chapter 4 基本的な部品でアプリを作る:UIKit

   4-1 UIKitってなに?
      UIKitは、画面に並べる部品
      UIKitのいろいろな種類

   4-2 UILabel:ちょっとした文字を表示させたいとき
      UILabelとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法

   4-3 UIButton:ユーザーが押して何かをさせたいとき
      UIButtonとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-4 UISwitch:オンかオフかを選択させたいとき
      UISwitchとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-5 UISlider:スライドして値を入力させたいとき
      UISliderとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-6 UITextField:1行のテキストを入力させたいとき
      UITextFieldとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-7 UITextView:長いテキストを表示したり、入力させたいとき
      UITextViewとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-8 UIImageView:画像を表示させたいとき
      UIImageViewとは
      使い方 Interface Builderで設定する方法
      使い方 プログラムで設定する方法
      使い方 Actionを設定する方法

   4-9 UIKitでアプリを作ろう!【画面デザイン編】
      UIKitでアプリを作ってみよう
      チュートリアル じゃんけんアプリを作ってみよう
      [1] プロジェクトを作る
      [2] 画面をデザインする
      AutoLayout【手動設定編】
      AutoLayoutを設定する

   4-10 UIKitでアプリを作ろう!【プログラム制作編】
      部品をつないで、プログラミングする

 

Chapter 5 外部とつながるアプリを作る

   5-1 Webとつながるアプリ
      Webとつながるアプリ

   5-2 Wenサイトを表示する
      使い方 Webサイトをアプリの部品として表示させる方法:WebView
      使い方 アプリにSafariを一時的に重ねて表示させる方法1:SFSafariViewController
      使い方 アプリにSafariを一時的に重ねて表示させる方法2:SFSafariViewController

   5-3 Webの画像データをダウンロードする
      イメージビューとは
      使い方 Webから画像をダウンロードして表示させる方法

   5-4 テキストデータをダウンロードする
      ネット上のテキストデータをダウンロードする
      使い方 Web上のテキストをダウンロードする方法1:(メソッドを作らない方法)
      使い方 Web上のテキストをダウンロードする方法2:(メソッドを作る方法)

   5-5 JSONデータをパースする
      JSONデータとは?
      JSONの書き方
      使い方 JSONデータをパース(解析)する方法:NSJSONSerialization

   5-6 SNSへ投稿する
      SNSへ投稿する
      使い方 投稿ダイアログをすぐ表示する方法
      使い方 共有アクションシートから投稿ダイアログを表示する方法

   5-7 JSONデータでアプリを作ろう!【画面デザイン編】
      JSONデータでアプリを作ってみよう
      チュートリアル 住所検索アプリを作ってみよう
      [1] プロジェクトを作る
      [2] 画面をデザインする
      [3] AutoLayoutを設定する

   5-8 JSONデータでアプリを作ろう!【プログラム制作編】
      部品をつないで、プログラミングする

 

Chapter 6 複数画面のアプリを作る:UIViewController

   6-1 複数画面のアプリとは?
      複数画面のアプリ
      [1] 画面の切り替わり方を決める
      [2] 画面ごとにViewControllerを作る
      [3] データの連携方法

   6-2 Single View Applicationから複数画面アプリを作る【画面デザイン編】
      Single View Applicationに画面を追加する
      チュートリアル 色当てアプリを作ってみよう
      プロジェクトを作る
      画面をデザインする

   6-3 Single View Applicationから複数画面アプリを作る【プログラム制作編】
      チュートリアル 色当てアプリを作ってみよう(続き)
      部品をつないで、プログラミングする

   6-4 Tabbed Applicationから複数画面アプリを作る【画面デザイン編】
      Tabbed Applicationは、タブで複数画面が切り替わるアプリ
      チュートリアル 単位換算アプリを作ってみよう
      プロジェクトを作る
      画面をデザインする

   6-5 Tabbed Applicationから複数画面アプリを作る【プログラム制作編】
      チュートリアル 単位換算アプリを作ってみよう(続き)
      部品をつないで、プログラミングする

 

Chapter 7 テーブルビューのアプリを作る:UITableView

   7-1 UITableView:リスト表示させたいとき
      UITableViewとは
      テーブルビューの構造
      使い方 Interface Builderで設定する方法
      使い方 テーブルビューの使い方

   7-2 UITableViewCell:セルの表示を変更したいとき
      UITableViewCellとは
      セルの種類を選択して変更する方法

   7-3 UITableViewCell:セルを自由にレイアウトして作る
      セルを自由にレイアウトして作る方法
      部品にタグをつけて、タグでアクセスする方法
      使い方 セルのカスタムクラスを作って、アクセスする方法

   7-4 テーブルでアプリを作る
      UITableViewでアプリを作ってみよう
      チュートリアル フォントリストアプリを作ってみよう
      プロジェクトを作る
      画面をデザインする
      プロトコルを設定する
      プログラミングする

   7-5 Master-Detail Applicationでアプリを作る【テンプレート編】
      Master-Detail Applicationは、テーブルビューを使ったアプリ
      チュートリアル 写真一覧アプリを作ってみよう
      プロジェクトを作る
      リストの編集機能を削除
      テストデータを表示させる

   7-6 Master-Detail Applicationでアプリを作る【プログラム制作編】
      チュートリアル 写真一覧アプリを作ってみよう(続き)
      写真一覧アプリに修正する

 

Chapter 8 ゲームアプリを作る:SpriteKit

   8-1 SpriteKitってなに?
      SpriteKitは、2Dゲームに使うフレームワーク
      SpriteKitは3層構造
      ノード(SKNode)は、「動きをつけて」動かす

   8-2 SpriteKitテンプレートを実行してみよう
      SpriteKitテンプレートを実行する
      チュートリアル SpriteKitテンプレートを利用してみよう
      プロジェクトを作る
      不要な部分を削る

   8-3 表示オブジェクト:ラベル、スプライト、シェイプ
      ラベルノードを作る:SKLabelNode
      スプライトノードを作る:SKSpriteNode
      シェイプノードを作る:SKShapeNode
      シーンに表示する:self.addChild(SKNode)
      ノードにノードを追加する:addChild(SKNode)

   8-4 パーティクル
      パーティクルとは
      チュートリアル パーティクルを作る:SpriteKit Particle File
      チュートリアル パーティクルを使う:SKEmitterNode()

   8-5 スプライトに動きをつける
      SKActionで「動きを作り」、runActionメソッドで「動きをつける」
      移動する動き
      回転する動き
      拡大縮小する動き
      動きの加速、減速を指定する:var timingMode: SKActionTimingMode

   8-6 動きを組み合わせる
      複数の動きをつける
      繰り返し動かす:SKAction.repeatAction(SKAction, count: Int)
      ずっと繰り返し動かす:SKAction.repeatActionForever(SKAction)
      同時に動かす:SKAction.group([SKAction])
      順番に動かす:SKAction.sequence([SKAction])
      待ち時間を作る:SKAction.waitForDuration(NSTimeInterval)
      ランダムな待ち時間を作る:SKAction.waitForDuration(NSTimeInterval, withRandom:NSTimeInterval)

   8-7 ユーザータッチを調べる
      ユーザーのタッチを調べるメソッド:touchesBegan
      タッチされたノードを調べる方法

   8-8 2Dゲームを作る
      SpriteKitでゲームアプリを作ってみよう
      チュートリアル 間違い探しゲームを作ってみよう
      空っぽのSpriteKitアプリを作る
      ゲームアプリを作る

   8-9 2D物理シミュレーション
      2D物理シミュレーションとは
      使い方 物理シミュレーションの使い方
      使い方 物体のいろいろな設定

   8-10 物理シミュレーションゲームを作る
      物理シミュレーションを使ってゲームアプリを作ってみよう
      チュートリアル 間違い探しゲーム2を作ってみよう

 

Chapter 9 アプリを仕上げる

   9-1 アイコン
      アイコンとは
      必要なアイコンの種類
      アイコンを設定する方法

   9-2 起動画面
      起動画面とは
      [LaunchScreen.storyboard] ファイルで作る

   9-3 外国語対応
      外国語に対応
      使い方 ストーリーボードで設定した文字列をローカライズする方法
      使い方 プログラムで設定する文字列をローカライズする方法
      使い方 アプリ名をローカライズする方法

   9-4 実機でテスト
      実機でテストする方法

 

巻末付録:TIPS集
キーワードIndex
TIPS集一覧
著者プロフィール

 

●正誤表

book.mynavi.jp

 

サンプルダウンロード

Swift 2.1/Xcode 7.1補足情報

訂正情報 

 誤植がちょっとありますね(笑)

 

●遊びながら習得

本書の「はじめに」に良いことが書いてありました。

 

最後に、アプリ作りに大切なことがもう1つあります。

それは「楽しむ心」です。

 

『子曰く、これを知る者はこれを好む者いに如かず。これを好む者はこれを楽しむ者に如かず。』

 

という孔子論語があります。

「あることを理解している人は、そのことを好きな人にはかなわない。そのことを好きな人でも、それを楽しんでいる人には及ばない。」という意味です。

アプリの作り方を覚えて、アプリ作りを好きになって、そして楽しむことを忘れないで作っていきましょう。

 

自分と他人の比較は無意味だと思いますが、自分の中で3つの状態を遷移していることは自覚した方が良いと思いました。

 

(1) 理解している状態

 ↓

(2) 好きな状態

 ↓

(3) 楽しんでいる状態

 

フロー状態に入って、すごく集中して取り組んでいるのは、やはり(2)から(3)の状態に移行したときではないかと思います。

 

「学習」という行為を「遊び」に変えて、楽しむようにしたいと思います。

→遊びに変える工夫として、ものを作る喜びを味わうようにしよう!