キャンペーンの今のうちに是非!!↓


⇒「ひろゆき『1%の努力』を無料で見る方法

【Swift奮闘記ep4】この奮闘記の方向性について&文法(コレクション)

IPhoneアプリ作成Swift奮闘記

読み進めていく本↓

前回⇒「【Swift奮闘記ep3】Swiftの基本的な文法(変数・定数、型、演算、条件分岐、オプショナル)について

Swiftの文法に触れて、なんとなく形が分かってきたかな?

引き続き文法を勉強していこう!

 

この奮闘記の書き方について

奮闘記と題してエピソード3まで書いてみて思ったのだが、習ったことを細かく載せていく必要はないという事。

それは本を見ればわかる事だし、俺が紹介する事ではないな、と。

エピソード4からは、本を見た感想やコードをみて思ったこと、また「奮闘記」というくらいだから苦戦して切磋琢磨している様子を綴っていけたらと思う。

なんかブレブレで申し訳ないが、(ていうか誰も見てないと思うが)ブログ兼勉強ノート替わりに続けていくので( `・∀・´)ノヨロシク。

 

引き続き文法の勉強

基本的な文法が多くて大変だ…。これくらい軽くこなさないとだめなんだろうな。

append()メソッドかっこいい。

疑問1

append(_:)メソッドって書いてあるんだけど_:ってなんだろう。

remove(at:)メソッドもなんか()の中にかいてあるけど、それはわかりやすいけど…。

疑問2

定数と変数を使い分ける理由みたいのがわからないんだけど何かあるのかな。

変更できないようにするため?とかだとおもうんだけど、どういう場面で使うのが今のところはっきりわからないや。

気付き

配列はString型以外にもInt型やそのほかの型で作成できる

イニシャライズは配列に使う場合は[String]()といった具合に[]が必要

 

Array型

単純な配列。

var vegetable = [“キャベツ”, “レタス”, “トマト”]

初期化は

var vegetable: [String] = []

又は

var vegetable = [String]()

 

Dictionary型

キーと値を複数保有する配列。

var fruit = [“いちご”: 380, “みかん”: 200, “りんご”: 500]

初期化は

var fruit: [String: Int] = [:]

又は

var fruit = [String: Int]()

 

要素を追加する場合は特にメソッドを使わずに記述する。

fruit = [“バナナ”: 300]

 

Set型

この配列みたいなSet型というコレクション。

重複したキーは登録できない。

何に使うか具体的にはわからないんだけど、何かに使えるんだろな~くらいには思った。

var sports: Set<String> = [“野球”, “サッカー”, “水泳”]

初期化は

var sports: Set<String> = []

又は

var sports = Set<String>()

 

Set型の場合、要素を追加するにはinsert(:)メソッドを使う。

var sports.insert(“ランニング”)

これはArray型とは違うところだね。(Array型はappend(_:)メソッドを使う)

 

 

コレクションって最初はなんぞ?って思ったけど、Array型、Dictionary型、Set型とみているうちにだんだん楽しくなってきた。

※追記 SetとArrayの違いについて

Arrayは重複OK

var fruit1= [“りんご”, “みかん”, “いちご”, “みかん”]

Setは重複NG

var fruit2: Set<String>= [“りんご”, “みかん”, “いちご”]

 

Set型の集合演算

ちなみに2つのSet型に対して集合演算を行う事が出来る。

intersection(_:) ⇒共通する要素を取り出す

symmetricDifference(_:) ⇒共通しない要素を取り出す

union(_:) ⇒すべての要素を取り出す

subtractiong(_:) ⇒一方のSet型に含まれない要素を取り出す

それぞれ、積集合、対称差、和集合、差集合を表す。

数学っぽいね。

 

演算子に入る前にここでストップ。

続き⇒「【Swift奮闘記ep5】演算子とか制御構文(条件分岐や繰り返し)とか

コメント