修飾子
| 項目 | 内容 |
| State | |
| グローバル変数 | プロジェクト全体で使用可能な変数(本来は使わないことが好まれる) |
UI関連
| 項目 | 内容 |
|---|---|
| 文字表示 | 画面に文字を表示させる初歩的なもの |
| TextFieldの表示 | 入力欄を表示させる |
| パスワード強度の表示(基礎編) | Zxcvbnでパスワード強度チェックを行う タイルで表示するだけという感じに。 |
| Zxcvbnでパスワード強度の表示(応用編) | Zxcvbnでパスワード強度チェックを行う ライブラリの内容からメーター形式で表示する。 |
| TextEditorの表示 | 複数行の入力欄を表示する |
| Navigationbarの表示 | NavigationBarを表示させる |
| ボタンの表示 | タップしたら処理を行うUIを表示させる |
| ラジオボタン | 選択肢を表示する際に使用するもの |
| Stepper | +/ーボタンを押下したら数値を刻み幅分変更するもの |
| 右下のボタン | 追加ボタンなど、画面の右下に表示するあのボタン |
| バー付きのTabView | ページを示すバー付きのTabView |
| カメラロールの表示 | カメラロールの画像を表示する |
| Pickerの表示 | たくさんの選択肢を作成する際に使うUI |
| ダイアログを表示 | エラー発生やユーザーに確認してほしいことがある時に使うUI |
| Menuの表示 | アイコンをタップした時、Listのセルを長押しした時に表示されるあのUIを実装。 これで一つのUIにたくさんの処理を持たせることができる! |
| List関連 | |
| リストの表示 | 一覧を表示させる(UITableViewのようなもの) |
| swipeActions | セルを左右のスワイプをさせるとボタンが表示される |
| CollectionView | マス目状、Grid状にUIを配置する |
レイアウト関連
処理関連
| 項目 | 内容 |
| シングルトンクラスの実装 | sharedを使うアレ |
| UIをタップ、長押しした時の処理 | ボタン以外のUIにタップ、長押しした時の処理を実装 |
| アプリ起動時などを検知する | アプリがバックグラウンドになったときに処理を画面単位で行いたいときなどに実装する。 |
| 画面遷移 | 画面遷移する |
| 表示を動的に切り替える | 背景色や文字列など、画面の表示をボタンタップなどにより切り替える |
| 画面の向きの管理 | 特定の画面のみ向きを設定するなど |
| タイマー処理と一時停止処理 | タイマー処理と一時停止、一時停止解除処理を実装する |
| 特定の処理を若干遅らせる | DispatchQueue.main.asyncAfterメソッドを使って指定した時間だけ処理を遅らせる |
| 列挙体のループ | 列挙体の内容を元にループ処理を行う 項目の一覧を表示するなど |
| 配列の連結 | 配列のデータを文字列で連結させる。 |
| クリップボードへのコピー | クリップボードへデータをコピーして、入力の手間を少しでも減らす |
カメラ関連
| 項目 | 内容 |
| OSのカメラを起動する | カメラを起動するときに使う。 |
| AVCaptureを使用してカメラ起動(準備編) | AVCaptureを使用してカメラ起動する。 この方法の方がカスタマイズしやすい。 |
| AVCaptureでカメラを起動する | AVCaptureを使用してカメラ起動する。 全体のコードを記載。 |
| QRコードリーダーを実装(基礎) | QRコードリーダーの実装 ただし、読み取り範囲の限定などプラスアルファの機能はなし |
| QRコードリーダーの読み取り範囲設定 | QRコードリーダーの実装 読み取り範囲を設定し、その枠を表示 |
| QRコードリーダーの読み取ったバーコードにエフェクトをつける | QRコードリーダーの実装 読み取ったバーコードを線で囲む どのバーコードを読み取ったかがわかる |
写真アプリ
| 項目 | 内容 |
| 写真アプリの画像を参照する | 写真アプリに保存されている画像一覧を取得する |
| 写真アプリから画像を選択して表示させる | 写真アプリに保存されている画像を自分のアプリで使うために必要な実装 |
Google Map
| 項目 | 内容 |
| GoogleMapを表示する | GoogleMapの導入と表示を行う |
| GoogleMapに現在地を表示する | 現在地の表示を行う |
| GoogleMapにピンを表示する | 特定の場所に目標をつける |
データベース関連
| 項目 | 内容 |
| Realmの導入 | データベースを使用するためのライブラリを導入 そして、データの取得・登録を行う |
| データの削除 | Realmで登録したデータベースのデータ削除を行う |
| データの更新 | Realmで登録したデータベースのデータの更新を行う |
| データのソート | Realmで登録したデータベースのデータの順番を変える |
認証関連
| 項目 | 内容 |
| 顔認証機能を実装する | 最もシンプルな認証機能の実装 |
音声・音源関連
サーバーとの通信処理
| 項目 | 内容 |
| Alamofireを使用してサーバーと通信する | サーバーとの通信を行う上での最低限の処理を記載 |
| Alamofireを使用してサーバーから受け取ったデータをカスタムクラスに変換 | カスタムクラスにjsonのデータを格納する処理を記載 |
BLEを使った通信処理
| 項目 | 内容 |
| Bluetoothの通信機能の実装 | BLEを使った通信の下準備と処理の実装 |
| ペリフェラルのサービス特性の取得 | サービスの内容とそのデータを取得する処理の実装 |
| BLE通信を使ってPeripheralデバイスに書き込み処理を行う | BLEを使ってデータを取得するだけでなく、逆にデータの送信もしてみよう。 |
課金関連
| 項目 | 内容 |
| 課金の準備 | 課金処理に必要なファイルの準備や課金商品の種類に関して |
| 課金商品のデータ設定 | 課金の商品のデータの設定を行う |
| 課金のローカルテスト | ローカル処理の実装。 実際に支払いなどはせず、表示など動作確認のみ行う |
| SKDemoの整理 | Appleから提供されている課金処理のサンプルプロジェクトに関して 実装内容を整理。 |
警告&エラー対処
警告一覧
| 項目 | 内容 |
| ForEachで変数を使うと出てくる | Non-constant range: argument must be an integer literal |
エラー一覧
| 項目 | 内容 |
| 範囲を指定する際に「…」を使うとエラーが出る | Cannot convert value of type ‘ClosedRange<Int>’ to expected element type ‘Int’ |
| アーカイブ作成時のエラー | Xcode13.4のアーカイブ作成時にエラーが発生した時の対処法 |