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

飛ぶように学べ。野心を解き放て!!

・待ったなし!Swift 2

今がSwiftをはじめる絶好のチャンスです。その理由の1つ目は、誰でも無料で自分で作ったアプリを自分のiPhoneで使えるようになったことです。これまで実機テストを行うには有料のiOSデベロッパプログラムに参加しなければなりませんでしたが、その必要がなくなったのです。
理由の2つ目はiOSアプリ開発とMac OS Xアプリ開発のデベロッパプログラムの統合です。これからはSwiftを使って、iOSアプリでもMac OS Xアプリでも自由に作れます。もちろん、WatchOSアプリも作れます。
そして3つ目の理由はSwift 2.0のオープンソース化です。オープンソース化によって、Swiftはより頑強となり開発速度も上がるでしょう。LinuxやWindowsでもSwiftを使ってアプリ開発ができるようになる可能性も大いにあります。

・シンタックスと実践アプリ作り。同時に入門!

シンタックスを学び、アプリを作る。この2つはプログラム言語を効率よく学ぶための両輪です。その両方に同時に入門できることを目指しています。今回、内容を再編成し、次の3つのパートに分けました。

 Part 1 概要 〜最初の話〜:ハローワールド
 Part 2 基礎知識 〜実力を蓄える〜:Swiftのシンタックス
 Part 3 実践入門 〜作って学ぶ〜:iOSアプリを作る

本書を手に取って、パラパラとめくってみてください。図やコードには詳細な説明が入り、各パートの章も細かなセクションに分けてありますよね?自分のレベルや目的に応じて、まさに飛ぶように自在に読みこなして欲しいと思います。

・サンプル数347本をダウンロードして学ぼう!

プログラムを学ぶには、とにかくコードを読み、自分で入力して試す。これに勝る方法はありません。最初はもたついたスタートでもこれを繰り返すうちに自然と速度が上がり、力強く進む自分に驚くに違いありません。サンプルコードは先に進むためのエネルギーなのです。その意味で本書はエネルギーの塊と言えるでしょう。努力とチャンスは同意語です。あなたの野心を奮い立たせてください。

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

PART1 概要〜最初の話〜:ハローワールド

PART2 基礎知識〜実力を蓄える〜:Swiftのシンタックス

PART3 実践入門〜作って学ぶ〜:iOSアプリを作る

お詫びと訂正

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

CONTENTS
P.4 Chapter1
誤:Xcodeをはじめる
正:はじめてのXcode

Section 1-5
P.35 手順1および手順2の解説が図版に隠れています。正しくは次のPDFをご覧ください。

P35のPDFファイル(クリックするとPDFのタブが開きます)

P35

 

Section 2-1
P.45 Listのタイトル
誤:コードでラベルを作って画面に表示する
正:ハローワールドと出力する

Section 2-4
P.67 演算子の表の3行目 !の説明
誤:ture
正:true

Section 2-5
P.73 リードの2行目
誤:プログラムミング
正:プログラミング

Section 3-4
P.111 P114
誤:戻し値
正:戻り値

Section 4-1
P.118 本文3行目 P119 本文2行目
誤:Stringクラス
正:String

Section 4-1
P.118 本文4行目
誤:ストリングを作成する方法です。
正:ストリングを作成する方法です(Stringは構造体で定義されています☞ P.210)。

Section 4-2
P.125 一番下の本文4行分を次のように変更
正:
advancedBy()を使うとインデックスを前後に複数個移動できます。つまり、startIndexから5つ先、endIndexから3つ手前というようにインデックスを移動できます。引数が正のときに進める、負のときに戻る方向になります。

Section 4-2
P.126 上のListのサンプルファイル名をstring_advanceByに変更
誤:
// 先頭から5文字目
let index1 = advance(str.startIndex, 5)
// 末尾から4文字目
let index2 = advance(str.endIndex, -4)

正:
// 先頭から5文字目
let index1 = str.startIndex.advancedBy(5)
// 末尾から4文字目
let index2 = str.endIndex.advancedBy(-4)

Section 4-2
P.126 2番目のList
誤:
let start = advance(zero, 3)
let end = advance(zero, 6)

正:
let start = zero.advancedBy(3)
let end = zero.advancedBy(6)

Section 4-2
P.126 3番目のList
誤:
let index = advance(str.startIndex, 5)

正:
let index = str.startIndex.advancedBy(5)

Section 8-6
P.188 一番下の図は次のようになります。

Section 9-2
P.208 一番下のList 下から2行目
誤:let shirt2 = Pattern.Stripe(color1: .white, color2: .red)
正:let shirt2 = Pattern.Border(color1: .white, color2: .red)

Section 9-4
P.218 本文1行目
誤:サブクリプト
正:サブスクリプト

Section 10-4
P.241 本文3行目
誤:距離をだけを
正:距離だけを

Section 11-2
P.265 Lintの2行目
誤:let num = Double(String(myLabel1.text))
正:let num = Double(myLabel1.text!)

Section 11-2
P.268 下から3行目
誤:初期値の
正:初期値を

Section 11-9
P.308 本文2行目
誤:1つを選ぶための
正:1つ選ぶための

Section 12-1
P.328 P329
誤:addSubView() insertSubView()
正:addSubview() insertSubview()

Section 11-9
P.308 本文2行目
誤:1つを選ぶための
正:1つ選ぶための

Section 11-9
P.312 List「コンポーネントの指定行の項目名を返す」の1行目
誤: -> String!
正: -> String?

Section 12-4
P.350 上のList内の引出し線
誤:self.viewの3/5の幅
正:self.viewの3/5の高さ

Section 12-4
P.357 上から4〜6行
誤:
// イメージビューを自動でサイズ調整しない
button1.setTranslatesAutoresizingMaskIntoConstraints(false)
button2.setTranslatesAutoresizingMaskIntoConstraints(false)
正:
// ボタンを自動でサイズ調整しない
button1.translatesAutoresizingMaskIntoConstraints = false
button2.translatesAutoresizingMaskIntoConstraints = false

Section 13-4
P.395 本文3行目
誤:「山で遊ぼう」と書かれた海シーン
正:「山で遊ぼう」と書かれた山シーン

Section 13-5
P.404 上のListのタイトル
誤:cellData データ
正:webData データ

Section 14-6
P.452, P.454, P.458, P.592, P.593
誤:セグメンテッドコントローラ
正:セグメンテッドコントロール

Section 14-6
P.452 最下行
誤:Actions接続
正:Action接続

Section 14-6
P.454 本文下から2行目
誤:UIviewクラス
正:UIViewクラス

Section 14-7
P.458 下のListのタイトル
誤:テストビュー
正:テキストビュー

Section 15-1
P.468 図の引出し線と下の表の下から2行目
誤:スクリーンの縁からのスワイプ
正:スクリーンの縁からのパン(ドラッグ)

Section 15-1
P.468 下の表の下から2行目
誤:Screen Edge Gesture Recognizer
正:Screen Edge Pan Gesture Recognizer

Section 17-1
P.529 本文1行目
誤:my-Switch1
正:mySwitch1

Section 18-2
P.556 本文1行目
誤:デバイスの向き変化の知らせる
正:デバイスの向きの変化を知らせる

Section 18-2
P.556 上のListのタイトル
誤:デバイスの向きの変化したならば
正:デバイスの向きが変化したならば

Section 18-6
P.581 本文1行目
誤:高度
正:標高

Section 18-6
P.586 大見出し後の本文5行目
誤:ポートレート向き
正:ポートレートの向き

ダウンロードの注意事項

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

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

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