すだちキャンパス

すだちキャンパス

やってみたこと、学んだことなどのメモ。

Swiftによるアプリケーション開発:入門編 をやってみた (後半:レッスン13~19)

こんにちは。だいぶ日が空いてしまいましたが、前半の続きです。
kabos.hatenablog.jp

注意 (メモ)

実行するプラットフォームを、macOS ではなく ios にしていると極端に動作が重くなるようです。
option + command + 1 でファイルインスペクターを開き、 Playground Settings > Platform で OS X を選択すると軽くなります。

レッスン13 QuestionBot

Playground で適当にデバックして、完成してからアプリケーションに配置すると便利。

演習問題解答

レッスン14 配列とループ

Swiftでは、リストを「配列(Arrays)」と呼ぶ。
配列は次のように作る。

let animals = ["cat1", "cat2", "cat3"]
var list = [String]() //empty list

配列は0から始まる「インデックス」を持つ。

animals[0]

のようにすると、そのインデックスに保存された値を取り出すことができる。この場合、取り出せる値は "cat1" である。
配列に値を追加する方法は3通りある。先ほどの空の配列に値を追加することを考える。

list.append = "cat"
// list = ["cat"]
list.insert("neko", at: 0)
// list = ["neko", "cat"]
list += ["nyanko", "pretty cat"]
// list = ["neko", "cat", "nyanko", "pretty cat"]

値の削除もできる。removeFirst()で最初の値、removeLast()で最後の値、removeAll()で全ての値を削除することができる。

var numbers = [0, 1, 2, 3, 4]
numbers.remove(at: 2)
// numbers = [0, 1, 3, 4]

forループ文の説明。

演習問題解答

レッスン15 構造体

自分で構造体を定義することで、オリジナルの型を作ることができる。例えば、「type, age」というプロパティを持つ「Cat」という型を作成したい時は、次のようにする (型の名前は、必ず大文字)。

struct Cat {
    let type: String
    let age: Int
}

レッスン16 QuestionBot2

会話アプリを作る。配列や構造体の練習。
手順通りにやったらできます。

レッスン17 アクションとアウトレット

手順通りにやったらできますが、少し詰まったところのメモ。

解答 (一部)

レッスン18 アダプティブユーザーインターフェイス

AUTO LAYOUT について。様々な機種に対応したUIを作ろう。

レッスン19 列挙型 (enumeration) とswitch文

次のようにして、「列挙型」を作れる。

enum ShopChoice {
    case coffee
    case food
    case clothes
}

インスタンスは、

let choice = ShopChoice.coffee

とするか、

var choice: ShopChoice
choice = .coffee

とすると作成できる。下は型アノテーションを用いている。

enum を使うときは if文よりも switch文の方が適している。

演習問題解答

レッスン20,21 は、読んでみようやってみよう的なコーナーです。
長かったけどかなり勉強になりました!

まとめ (感想)

今まであやふやでやってきたことを初めて理解できた気がします。
また、エラーの見本なども提示されているのがわかりやすくてよかったです。
それから、こういう風に章ごとにまとめたりするのは意外と良い方法かもしれないと思いました。これからもやってみようかな。

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応