【Swift】命名規則や書き方など まとめ

記事内に商品プロモーションを含む場合があります

Swiftの命名規則とか、基本的な構文をまとめました。

(※随時更新予定です)

命名規則

1. 変数名

キャメルケースで書く。

キャメルケースとは複数単語の場合、最初の単語を小文字、以降の単語の先頭文字を大文字にする書き方。

書き方の例
  • user name → userName
  • main image → mainImage

2. クラス名

各単語の先頭文字を大文字にして書く。

class AuthController {

}

3. 関数名

こちらも複数単語になる場合は、キャメルケース。



変数宣言

変数を宣言するときは「var」を使う。

var num

さらに型を明示的に指定する場合は、変数名の右に「:Int」のように書く

var num:Int

定数宣言

定数を宣言するときは「let」を使う。

let tax

さらに型を指定する場合は、変数名の右に「:Int」のように書く

var tax:Int

データ型の種類

Swiftで使う基本のデータ型は以下の7種類。

型名 説明
Int 整数
Float 浮動小数点(32ビット)
Double 浮動小数点(64ビット)
String 文字列
Bool 真偽値(true / false)
Array 配列
Dictionary 辞書
Optional nilを許容する場合に使用

Dictionary型

PHPで言えば連想配列に相当するもので、配列にキーがついたもののことを言う。

書き方の例は以下

let stopLight = [
  "1": "赤", 
  "2": "青", 
  "3": "黄"
]

Optional型

値がないことを、Swiftの世界では「nil(ニル)」と言い、変数の値がnilの場合はエラーとなる。

もしnilを許容する必要がある場合に使うデータ型が、このOptional型である。

書き方は次の通り。

var userName: String?

型名の横に「?」を使えることで、Optional型になりnilを許容できる。

ただし、Optional型で用意した変数に値を代入して、print()で出力すると、次のように表示される(Wrapされている状態)。

var userName: String?
userName = "OSAKA TARO"
print(userName)

//出力結果
// Optional("OSAKA TARO")

これを「OSAKA TARO」のようにStringとして出力するには、次のように「!」をつけて出力する(Unwrapという)。

print(userName!)

// 出力結果
// OSAKA TARO

関数の書き方

戻り値(return)がない場合の書き方は次の通り。

// 書き方
func 関数名(引数:引数の型){
  //処理内容
}

// 例
func myFunc(name:String){
  print("Hello \(name)")
}

// 関数を呼び出す
var name = "OSAKA TARO"
myFunc(name: name) // 関数名(型:値or変数)

戻り値(return)がある場合は次のように書く、

// 書き方
func 関数名(引数:引数の型) -> 戻り値の型{
  //処理内容
  return value //戻り値
}

// 例
func getPrice(price:Int)->Int{
  let tax = 1.08
  totalPrice = price * tax
  return totalPrice
}

if文の書き方

// 書き方
if 条件 {
  // 条件が成立した時の処理
} else if 条件 {
  // 条件が成立した時の処理
} else {
  // 条件が成立した時の処理
}

//例
if x == 0 {
  print("右")
} else if x == 1{
  print("左")
}else {
  print("エラー")
}

繰り返し文の書き方

1. for文

基本の書き方は次の通り

for 定数 in 条件 {
  // 処理
}

// 定数:for文内で使える定数
// 条件:1〜10までとか

条件には何回繰り返したいのかを書く。

0〜10(10を含む)であれば「0…10」、0〜10(10を含まない)であれば「0..<10」のように書く。

配列の要素数分回したい場合は次のように書ける。

for 定数 in 配列 {
  // 処理
}

//例
let fruits = ["apple", "orange", "melon"]
for fruit in fruits {
  print(fruit)
}

2. while文

while 条件 { 
// 処理
}

switch文の書き方

// 書き方
switch 変数 {
  case 値1:
    //処理
  case 値2:
    //処理
  case 値3:
    //処理
  default:
    //処理
}

// 例
switch color {
  case "green":
    print("go!")
  case "yellow":
    print("slow down")
  case "red":
    print("stop")
  default:
    print("error")
}

変数と値がマッチする場合、処理を行う。

どれにもマッチしない場合は、defaultの処理。

構造体(struct)の書き方

struct 構造体名 { 
  //構造体の定義 (プロパティ、メソッド)
}

クラスの書き方

class クラス名 { 
  //定義 (プロパティ、メソッド)
}
構造体とクラスの違い
  1. 構造体は継承ができない。
  2. クラスでは、プロパティに値が設定されていない場合、initializeが必須。

プロトコルの書き方

プロトコルの定義

protocol プロトコル名 { 
  //定義
}

構造体にプロトコルを適合させる

struct MyStruct: 適合させるプロトコル名 { 
  //定義
}

クラスにプロトコルを適合させる

class MyClass: SuperClass, 適合させるプロトコル名 { 
  //定義
}

クロージャーの書き方

{ (引数) -> 戻り値の型 in 
    // 処理
}

extensionの書き方

extension 対象の型 {
  //追加するメソッドやプロパティを記述
}

Swiftの学習におすすめの動画教材

【iOSアプリ開発】Swiftが学べるおすすめUdemyコース

Swiftの学習におすすめ書籍

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA