詳細!Swift iPhoneアプリ開発 入門ノート

新言語Swift 1.1 + Xcode 6.1 + iOS 8.1でiPhoneアプリ開発をマスター!

 新世代開発言語、Swiftの登場です。「アマツバメ(雨燕)」、「速い」の意味をもつSwift。目にも止まらぬ素早さで自在に空を舞う。Objcect-Cから世代交代したSwiftは、まさにそんな表現がピッタリのプログラム言語です。
本書のPART 2から5までの4章では、Swiftの言語仕様について学んでいきます。もちろん、Swiftを学ぶことは目的ではなく、iPhoneアプリを作れるようになるのがゴールです。PART 6以降では、Xcodeを使ってiPhoneアプリを作っていきます。
本書の最大の特長は圧倒的なサンプル数です。本文解説だけでなく、コードには細かなコメント文に加えて、引き出し線を付けて要所に説明を重ねています。

 このサポートページでは、本書のサンプルファイルのダウンロード、正誤表、本書の構成などを掲載しています。本書を読むにあたり、ぜひサンプルをダウンロードしてXcodeで開いて実際にコーディングを行いながらSwiftとiOSアプリの開発方法を学んでください。

Swift 1.2の変更への対応

 Swift 1.2ではシンタックスエラーとなりビルドできなくなった箇所があります。「詳細!Swift iPhoneアプリ開発入門ノート」で記載しているコードだけでなく、テンプレートが作成するファイルにも変更箇所があります。次のリンクにコードの変更点の一覧がありますので、参照してください。
また、すべてのダウンロード用サンプルファイルはSwift 1.2に対応しています。

 http://oshige.com/blog/index/swift/2015/04/swift-12.html

サンプルファイルをダウンロード

PART1Xcodeをはじめる

PART3ストリングとコレクション

PART5クラス、構造体、列挙型

PART7ビューと画面表示

PART9SpriteKit でゲーム作り

本書の構成

本書の構成と各PARTの内容について以下に記します。各PARTの目次内容については書籍紹介ページを参照ください。

PART1Xcodeをはじめる

 最初にXcodeの各部の名称と機能の概要、アプリの動作を試すiOSシミュレータの使い方を知りましょう。Swiftプログラミングを遊ぶように試すことができるPlaygroundの使い方も具体例で示します。この後、PART 2からはSwiftのシンタックスの解説です。早くiOSアプリを作ってみたいという人はPART 6を開いてみてください。
 

PART3ストリングとコレクション

 ストリング、配列、辞書について解説します。それぞれに細かな仕様がありますが、すべてを覚える必要はなく、どのようなことができるのかということを把握すればOKでしょう。必要に応じて調べ直してください。

PART5クラス、構造体、列挙型

Swiftのクラス定義、構造体、列挙型は自由度が高く、なかなか欲張りです。初心者はあまり深入りせずに先に進むのがよいのかもしれませんが、ここでの踏ん張りが将来の差になるでしょう。この山は登るべきです。

PART7ビューと画面表示

 アプリの画面はビューでできています。ビューの作成と表示はその意味でもっとも基本的な要素です。テーブルビューとコレクションビューは、デリゲートやデータソースの扱いなど難しい要素も含んでいますが、これがわかるとiOSアプリ開発の大きな山を1つ乗り越えたことになります。ビュー切り替えや更新の映像効果についても解説します。

PART9SpriteKit でゲーム作り

 SpriteKit は、グラフィック処理が速くGame 制作を主な目的として利用されるフレームワークです。2D、物理演算に関わるクラスを含んでいて、SpriteKit だけの世界があります。描画、アニメーション、物理ボディ、衝突判定処理などを詳しく解説します。

1刷正誤表(2015/01/26更新)

このたびは弊社刊「詳細!Swift iPhoneアプリ開発 入門ノート」(1刷)をご購入いただき、誠にありがとうございます。刊行後、本書内で以下の通り誤りがあることがわかりました。お詫びして訂正いたします。2刷の正誤表とあわせてごらんください。

※なお、本書の補足事項は、Webサイト“Swift入門ノート”およびTwitterアカウント@note_swiftでも随時更新・通知を行っております。

Chapter 2-4P.54 下から2行目

誤:たとえば、
正:(削除します)

Chapter 2-5P.63 1つめのリスト

1つ目のリストにある演算子>>=にします。
誤:if sugaku>50 {
                              if eigo>60 {

正:if sugaku>=50 {
                              if eigo>=60 {

P.63 2つめのリスト

2つ目のリストにある演算子>>=にします。
誤:(sugaku>50)&&(eigo>60)
正:(sugaku>=50)&&(eigo>=60)

P.64 リスト

リストにある演算子>>=にします。
誤:(sugaku>60) || (eigo>60)
正:(sugaku>=60) || (eigo>=60)

P.69 List 最終行

}を削除

P.75 List 1行目

ViewController.swift を削除

Chapter 2-6P.75 List 1行目

ViewController.swift を削除

Chapter7-3P.308 「セクション数とセクションごとの行数」 1行目

誤:行数を指定できますセクション
正:行数を指定できます。セクション

P.309 「 各行に表示するセルに文字を設定して返す」6行目

Xcode 6.1.1のマイナーバージョンアップで仕様変更がありました。テーブルビューのセルのtextLabelプロパティがOptional型になりました。
誤:cell.textLabel.text =
正:cell.textLabel?.text =

P.311 List 8行目

誤:cell.textLabel.text =
正:cell.textLabel?.text =










2刷正誤表(2015/03/16更新)

このたびは弊社刊「詳細!Swift iPhoneアプリ開発 入門ノート」(2刷)をご購入いただき、誠にありがとうございます。刊行後、本書内で以下の通り誤りがあることがわかりました。お詫びして訂正いたします。

※なお、本書の補足事項は、Webサイト“Swift入門ノート”およびTwitterアカウント@note_swiftでも随時更新・通知を行っております。

Chapter1-3P.9 10-11行目(年会費)

iOSデベロッパプログラムの年間参加費が改定されました。
標準メンバー 年間11,800円(税別)
企業/組織 年間37,800円(税別)
これにともない、以下のように料金部分を訂正いたします。
誤:7,800円
正:11,800円(税別)

誤:28,800円
正:37,800円(税別)

Chapter3-2P.92 下から2行目、3行目

配列の値の型を指定する書式で、配列名と型指定の間のコロンが抜けていました。
誤:
let 配列名[値の型] = [値1, 値2, 値3]
var 配列名[値の型]

正:
let 配列名:[値の型] = [値1, 値2, 値3]
var 配列名:[値の型]

Chapter3-3P.103 下から1行目、2行目

辞書のキーと値の型を指定する書式で、辞書名と型指定の間のコロンが抜けていました。
誤:
let 辞書名[キーの型:値の型] = [キー1:値1, キー2:値2, キー3:値3]
var 辞書名[キーの型:値の型]

正:
let 辞書名:[キーの型:値の型] = [キー1:値1, キー2:値2, キー3:値3]
var 辞書名:[キーの型:値の型]

Chapter6-5P.272 2つ目のList

真ん中にあるList「各コンポーネントの横幅を返す」のif文で返す値が逆になっていました。 なお、p274のコードとサンプルファイルの同一箇所は正しいコードです。
誤:
if component == 0 {
return 100
else {
return 50
}

正:
if component == 0 {
return 50
else {
return 100
}

Chapter7-2P.286 ex_imageViewファイル

P.286掲載のサンプルex_imageViewのViewController.swiftに掲載のコードが記述されていませんでした。書籍に掲載のコードには変更がありませんが、ex_imageViewプロジェクトファイルを差し替えます。次のファイルをダウンロードしてください。

P.294 リストの下から18行目

誤:attribute: NSLayoutAttribute.CenterY,
正:attribute: NSLayoutAttribute.Top,

ダウンロードの注意事項

本サンプルプログラムは本書を利用し学習する目的で作成されました。ダウンロードしたサンプルプログラムの著作権は、大重美幸に帰属します。すべてのデータに関し、著作権者および出版社に無断での転載、二次使用を禁じます。

ダウンロードしたサンプルプログラムを利用することによって生じたあらゆる損害について、著作権者および株式会社ソーテック社はその責任を負いかねます。また、個別の問い合わせには応じかねますので、あらかじめご了承ください。

©2014 大重美幸/ソーテック社