Rightです。
最近、iPhoneアプリを作成するために、Swift言語を学び始めた。
本記事では、Swiftで使用した文法やXcodeの機能についてまとめる。(随時更新)
1.Swiftの基本文法
本章では、Swiftの基本文法についてまとめる。
文字表示
- Text(" ~~~~~~ ")
- 文字を表示する。
- .font(.system(size: ***, weight: xxx, design: @@@)) //文字のフォント指定
- .padding() // 余白追加
- .Spacer() // 空白表示
- Button{ } label: { Text(" ~~~~~~ ") }
- ボタンを表示する。
- .foregroundColor(Color.***) //ボタンの文字色を変更
- .background(Color.***) //ボタンの背景色を変更
- .frame(width:***, heght:***) //ボタンの大きさを変更
- .cornerRadius(radius:CGFloat) //ボタンの角を丸くする(※必ず.frameの後ろに書く)
- .lineLimit(1) //表示行数を1行に制限する
- .minimumScaleFactor(**) //文字がフレームに収まらないとき係数**(0.0〜1.0)だけ縮小する
- .lineLimit(1) //表示行数を1行に制限する
- let ***: xxx
- 定数。(***は定数の名称)
- xxxは型名。
- var ***: xxx
- 変数。(***は変数の名称)
- @Stateをつけると値が更新されるたびにView(画面)に反映される。
- 画面Aの@State付き変数を画面Bで更新する場合は@Bindingをつける。
- ※画面Aから画面Bへ@State付き変数を渡すとき、$をつけること。
- xxxは型名。
- VStack { ~~~~~~ }
- 縦方向に表示する。
- HStack { ~~~~~~ }
- 横方向に表示する。
- ZStack { ~~~~~~ }
- 画面を重ねて表示する。
- Color.black //背景色を黒にする。
- .ignoresSafeArea() //画面端にも背景色を適用する。
型名
- 配列
- [[String]]:文字列の2次元配列
- その他
- CGFloat:座標やサイズを表す際に使用される専用の型。
- UIScreen.main.boundsを代入することで高さ(.height)や幅(.width)を取得できる。
- 例)
- let tmp: CGFloat = UIscreen.main.bounds.width
- 画面の横幅をtmpに格納。
条件分岐(if文)
- if ***.contains(xxx) { ~~~~ } else if @@@.contains(xxx) { ~~~~ } else { ~~~~ }
- 配列***に配列xxxの要素が含まれている場合
- 上記満たさない場合、配列@@@に配列xxxの要素が含まれている場合・・・
繰り返し文(for文)
- forEach (0..<5) { i in ~~~~~ }
- 5回~~~~~を繰り返す。
- ※SwiftUIでfor inは使用できないらしい・・・
- forEach (***, id: \.self) { *** in ~~~~~ }
- 配列***の要素数だけ繰り返す。
- ※配列***がIdentifiableプロトコルに準拠していない場合に使用する。(id: \.self)
関数
- func ***(xxx: String) -> Color { ~~~~~ }
- 関数名:***
- 仮引数名:xxx (上記例の場合、String型)
- 上記例の場合、@@@型(返却値の型)で値を返却する。
構造体
- struct ContentView: View { ~~~~~ }
- メイン処理
- struct ***: View { ~~~~~ }
- メイン処理の構造体から分けて処理を記述できる。
画像表示
- Image(" ~~~~~~ ")
- 画像を表示する。
- ~~~~~~は画像名を入れる。
- 画像名:~~~~~~.png
- ※事前にXcodeの『Library』から画像を登録しておく。
リスト表示
- list{ ~~~~~~ }
- リストで表示する。
- NavigationViwe {
- list {
- ******
- }
- .navigationTitle("~~~~~~")
- }
- リストのタイトル『~~~~~~』を表示する。
その他
- result = number.truncatingRemainder(dividingBy: 1)
- 小数点以下を抜き出す
- if number.truncatingRemainder(dividingBy: 1).isLess(than: .ulpOfOne) { ~~~ } else { ~~~ }
- 小数点以下が0の場合
コメントアウト
C言語と同じく以下の通り。
- /* ~~~~~~~~~~~ */
- // ~~~~~~~~~~~
2.Xcodeについて
本章では、Xcodeの操作方法・ショートカットキーについてまとめる。
操作方法
- 使用画像の登録
- 『Assets.xcassets』を選択する。
- 使用画像をドラッグ&ドロップする。
ショートカットキー
- Control + i
- 一括インデント
- (インデント揃えたい範囲を選択後、上記ショートカットキーを押す。)
- Command + Control + e
- ソースコード内の語句を検索する。
更新履歴
-
2022/12/30