SwiftUIを扱う前に知っておくべき「Swiftの文法」のポイントをまとめました。
スポンサーリンク
Swiftの概要
- オブジェクト指向
- 構造体とクラスからインスタンスを作る
- 関数型プログラミングも取り入れている
- Playgroundでコードの練習が簡単にできる
①オブジェクト指向
Swiftではすべてのデータはオブジェクト。
③関数型プログラミング
Python、JavaScriptなどでも取り入れられている。シンプルに記述できる。
④Playgroundsでコードの練習が簡単にできる
XCodeを開き、プロジェクトの新規作成「Swift Playgrounds App」を選ぶと、Swiftのエディタが使える。挙動の確認などに使えるので便利。
データ型
- 型を自動認識する型推論
- 整数はInt型、小数はDouble型、文字列はString型が基本
- オブジェクトはイニシャライズで生成する
- データをまとめて管理する(タプル、配列、辞書)
変数宣言
var 変数名: 型
var age: Int
age = 29
print(age)
一行で記述してもよい
var age: Int = 29
定数
let 定数名: 型
let name: String = "鈴木一郎"
式展開(文字列内に値を埋め込む)
let name = "鈴木一郎"
print("こんにちは\(name)さん") // こんにちは鈴木一郎さん
型推論
変数宣言と同時に値を代入する場合、型の指定を省略しても自動的に型を判定してくれる「型推論」機能がある。
var height = 100
以降、heightには数値型のみ代入可能
オブジェクトの生成
構造体やクラスからオブジェクトを生成するには、型名(引数)で初期化する。
let now = Date()
print(now)
タプル(複数の値をまとめる)
カンマ「,」区切りで、全体をカッコ「()」で囲む。 (値1, 値2, 値3, …)
var person = ("鈴木一郎", 55, "佐藤次郎", 30, "田中三郎", 18)
タプルの各要素には「変数名.番号
」でアクセスできる。
person.0
要素に名前をつける
値の前に「名前:
」を記述して名前をつけることができる。 「変数名.名前
」でアクセスできる。
var customer1 = (number:1, name:"鈴木一郎", age:55)
customer1.name // "鈴木一郎"
制御構造
- 条件分岐(if文とswitch)
- 繰り返し(for-in文とwhile文)
- 安全なプログラミングに必要なオプショナル型
- オプショナル型の値を取り出すアンラップ
繰り返し
for-in文
for 変数 in レンジ { 処理 }
クローズドレンジ(最後の数値も含む)
for num in 1...10 {
print(num) // 1 2 3 4 5 6 7 8 9 10
}
ハーフオープンレンジ(最後の数値を含まない)
for num in 1..<10 {
print(num) // 1 2 3 4 5 6 7 8 9
}
配列のすべての値を出力
let colors = ["赤", "黄色", "緑"]
for i in colors {
print(i) // 赤 黄色 緑
}
関数とクロージャ
- 引数には引数ラベルを設定できる
- クロージャ式でクロージャを生成する
- クロージャ式の省略形
クロージャとは
構造体とクラス
- 構造体は「struct」クラスは「class」で定義する
- 構造体やクラスの仕様を設定するプロトコル
- 構造体やクラスに機能を追加するエクステンション
プロトコルとは
エクステンションとは
スポンサーリンク