すだちキャンパス

すだちキャンパス

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

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

こんにちは。
タイトルの通り、Swiftによるアプリケーション開発:入門編 という、Appleが出しているSwiftの入門書をやってみました。
iBooksから無料でダウンロードできます。

各章の簡単なまとめと解答をメモしておきたいと思います。

レッスン1 Playgroundの基本

Playgroundについての説明。演習問題はありません。

レッスン2 命名と識別子

定数は次のように宣言する。スペースを空けないとエラーが出る。

let numberOfCats = 10

宣言するときはわかりやすい名前をつけよう!

演習問題解答

レッスン3 文字列

Swiftのエスケープ文字(通常の動作と異なるように指示する文字)はバックスラッシュである。また、このようなパターンを「エスケープシーケンス」と呼ぶ。その例として、プレースホルダがある。
プレースホルダ : \(name)

let name = "neko"
let greeting = "Hello \(name)"
演習問題解答

レッスン4 HelloWorld

xcodeのカスタマイズとprint関数について。

レッスン6 関数

同じ処理は関数を使って行わせよう!無限ループには気をつけよう。

レッスン8 定数と変数

変数は次のように宣言する。

var score = 5
演習問題解答(自信なし)

レッスン9 型

型とは、整数値や文字列など、その値の性質(?)のことである。変数に値を代入すると、変数の型は自動的にその値の型になる。
また、次のように型を指定することもできる(型アノテーション)。

let num: Double = 20
演習問題解答

レッスン10 パラメータと結果

関数の引数と戻り値の記述法について。
引数には「引数のラベル」と「パラメータ名」の二つをつけることができる。引数ラベルがないときは、_ で明示することもできる。

func functionName(name1: Int, name2: Int) -> Int{
    let total = name1 + name2
    return total
}

func Hello(to name: String) { 
    print("Hello " + name) //nameがパラメータ名
}
printHello(to: "Yamada") //toが引数ラベル

レッスン11 意思決定を行う

ブール値(true, false)とif文について。

演習問題解答

レッスン12 インスタンスメソッドプロパティ

インスタンス!メソッド!プロパティ!
・・・プログラミングを始めてからずっと疎かにしていたところなので、今回わかった(つもり)になったことを図にしてみました。
f:id:sweetgohan:20181010152846j:plain
f:id:sweetgohan:20181010152858j:plain
正直間違っている気がするのでいつか修正するかもしれません・・・。
イニシャライザ:全ての型にあり、新しいインスタンスを作成するために使う
インスタンスの後にピリオド+メソッドで、メソッドを呼び出すことができる。プロパティも同様。
メソッドとプロパティは次のようにして宣言できる。

func hasPrefix(_ prefix: String) -> Bool //method
var isEmpty: Bool { get } //property

クイックヘルプやマニュアルを使うことでメソッドの定義などを知ることができる。

演習問題解答

後半はこちら↓
www.siketai.org