本日もみんなのiOS講座 ゼロからSwiftで学ぶiPhoneアプリ開発の基礎の学んだことメモ。
Swiftの基礎nの続き。
#分岐
ifを使った条件分岐。
ここはSwift Playgroundsでやっていたこともあったので、そんなに難しくなかった。
#配列
- 配列を用いることで、1つの変数の中に複数の要素を格納することができる。
let a = [1, 2, 3, 4, 5]
上記の場合、変数が全て整数なので、int型の変数だと認識される。
- また、下記のように[]を使って数字を指定すると、配列の中の各要素を取り出すことができる。
let b = a[0]
この場合、aの配列の先頭は1という数字なので、1という数字が出力される。
- letの場合、配列の中を変更することができないが、varの場合は配列の中を変更することができる。
var e = [1, 2, 3, 4, 5]
e.append(6)
e.remove(at: 3)
この場合、appendで6という要素が新たに追加されたことになり、removeで先頭から3番目の要素が削除された状態となる。
- 加えて、下記のように配列の要素を指定して、変更することもできる。
e[2] = 9
この場合、先頭から2番目の数字が9に変更されている。
#ディクショナリ
- キーと値をセットで格納し、キーを使って値を取り出すことができる。
- 多くのデータを効率的に管理するのにとても便利。
let a = ["Taro": 1985, "Hanako": 1986]
let b = a["Taro"]
let c = a["Hanako"]
この場合、Taroの値1985とHanakoの値1986が出力される。
- varの場合は、ディクショナリを追加・変更することもできる。
var d: [String: Int] = ["Taro": 1985, "Hanako": 1986]
d["Jiro"] = 1988
この時はTaro、Hanakoに加えてJiroを追加した。既にキーが存在している場合は変更されることになる。
#ループ
- 同じような処理を何度も実行することができる。
for i in 0..<10 {
print(i)
}
//10未満
for i in 0...10{
print(i)
}
//10以下
- forループと配列の組み合わせ
var a: [Int] = []
for i in 0..<10 {
a.append(i)
}
varで空の配列を作り、for分を使って要素を入れることができる。
また、下記のように書くこともできる。
for i in a {
print(i)
}
(実際に活用するときの具体的なイメージがわいていないので、違いがあまりわからない...)
#ループと分岐の組み合わせ
var a: [Int] = []
for i in 0..<10 {
if i%2 == 0 {
a.append(i)
}
}
この場合は2で割り切れる数字がiの配列のとして出力される([0, 2, 4, 6, 8])。
var b :[Int] = []
for i in 0..<10 {
if i%3 == 0 {
b.append(i*3)
}else{
b.append(i)
}
}
この場合は、3で割り切れる数字だけ3倍されていて、他の数字は普通に出力される([0, 1, 2, 9, 4, 5, 18, 7, 8, 27])。
#関数とスコープ
- 関数を書いておくことで、処理をまとめておくことができるのでそれを何度も再利用することができる。
- 関数名()をかけば、使用することができる
func a() {
print("Hello!")
}
a()
- スコープ
下記の例のように、関数の外で定義された変数の値に関数の中でアクセスできる。
関数の外で定義された変数に関しては、関数の中で使用できる。このような変数の有効範囲のことをスコープという。
また、関数の中で定義した変数は、関数の外からアクセスすることができない。
let b = 123
func c() {
if b == 123 {
print("Hi!")
}
}
print(e)
//↑エラーが起こる
#引数と返り値
- 関数の外部から渡される値を引数という。
let a = 4
let b = 6
func add1(c: Int, d: Int) {
let e = c + d
print(e)
}
add1(c: a, d: b)
- 返り値とは関数を実行した結果、得られる値
- 返り値の方は->の後に記述する。
- 返り値は関数の外に出ていく値となる。
func add2(c: Int, d: Int) -> Int {
let e = c + d
return e
}
let f = add2(c: a, d: b)
print(f)
#メモ
なんとなく、何をやっているのかは理解しているが、アプリを作るときにどう使用するのか全くイメージがわいていない。
引き続き授業を続けて、解像度上げていきたい。