【Swift/Objective-C】【短期】Qiitaの今読んでおくべき記事１００選【2021/8 更新停止】

ページ容量を増やさないために、不具合報告やコメントは、**[説明記事](https://qiita.com/j5c8k6m8/items/09e0baf63e171269b587)** に記載いただけると助かります。
※ `Mac` 等のタグが付与されている記事は除いています。
**[【Mac/iOS】【短期】Qiitaの今読んでおくべき記事１００選【毎週自動更新】](https://qiita.com/j5c8k6m8/items/60e39d1ae2c685a09034)** を参照してください。

|順位|記事名<br/>________________________________________|ユーザ|投稿日付<br/>更新日付|LGTM[^1]|
|:-:|:--|:-:|:-:|:-:|
|1|**[どこよりも分かりやすいSwiftの"?"と"!"](b24378a3707bd35a31a8)**|maiki055|15/06/22<br/>16/01/08|1935<br/>50|
|2|**[[Swift] iOSアプリ開発の基本情報と学習ソース](200db9ac37150effc8ed)**|y-some|16/10/19<br/>20/02/22|1053<br/>21|
|3|**[MVCモデルについて](975cc38a3e0de462966a)**|s\_emoto|16/10/14<br/>19/08/22|491<br/>50|
|4|**[【Swift】Dateの王道 【日付】](bff12e9ea1251e895306)**|rinov|17/08/13<br/>21/06/06|771<br/>29|
|5|**[[Swift] SwiftUIのチートシート](eb847ca7fb7a0b9e8073)**|hcrane|19/06/05<br/>21/07/22|499<br/>23|
|6|**[私が（iOS エンジニアの）採用でコードチェックする時何を見ているのか](d76c68341ec3e7beb611)**|lovee|19/09/05<br/>21/01/25|858<br/>9|
|7|**[iOSアプリ開発でのキャッシュ削除方法まとめ](c96a58579ec406194fa8)**|shtnkgm|18/05/20<br/>18/12/13|409<br/>22|
|8|**[VIPERアーキテクチャ まとめ](09534b5daffec33b2bec)**|hicka04|18/07/30<br/>20/08/24|323<br/>32|
|9|**[iOSアプリ個人開発で使ってるツールとかノウハウを公開してみる](8d8d633be9e3ab1a504a)**|shtnkgm|16/06/21<br/>19/04/22|1510<br/>19|
|10|**[iOSアプリ開発でアニメーションするなら押さえておきたい基礎](57d4c305c907805b4a53)**|hachinobu|16/12/22<br/>18/12/27|654<br/>18|
|11|**[SwiftUIのProperty Wrappersとデータへのアクセス方法](6eaf87fa79499623306a)**|shiz|19/06/13<br/>20/10/16|317<br/>20|
|12|**[【Swift】CocoaPods導入手順](3090290cb72434852460)**|ShinokiRyosei|16/02/19<br/>20/04/19|569<br/>14|
|13|**[【Swift】URLSessionまとめ](09523baf7d1cd37f6dee)**|shiz|18/07/04<br/>20/08/28|280<br/>17|
|14|**[Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい](a7a12e7e18d2bb7d8c77)**|koher|17/01/14<br/>18/08/28|1078<br/>11|
|15|**[【swift】イラストで分かる！具体的なDelegateの使い方。](326bd50a78cf34371169)**|chanNaru|16/12/23<br/>20/02/06|427<br/>15|
|16|**[Swiftとイニシャライザ](8b7979fc84a3cc065238)**|shtnkgm|17/11/28<br/>18/02/04|348<br/>16|
|17|**[RxSwift 再入門](444d6dd7386b2949c06b)**|usamik26|18/07/29<br/>19/04/02|333<br/>18|
|18|**[僕はなぜここまでして猫をメニューバーで走らせたかったのか...](b85e7cfc2716a6f880ee)**|Kyome|19/12/24<br/>20/03/06|222<br/>18|
|19|**[Swiftの列挙型(enum)おさらい](392c96820588d1c03b0c)**|hachinobu|16/03/31<br/>18/12/17|541<br/>15|
|20|**[オブザーバーパターンから始めるRxSwift入門](17f845a75cce6b737d1e)**|k5n|16/07/06<br/>18/03/05|877<br/>17|
|21|**[UserDefaultsの概要と操作方法(Swift)](429cac9b798b9c0937ae)**|uhooi|19/02/13<br/>21/04/12|184<br/>14|
|22|**[iOSアプリのライフサイクル](766d5f95940c76a8c3cd)**|KenNagami|19/06/06<br/>20/05/22|177<br/>21|
|23|**[iOS14でエンジニアがすべきIDFA対応](e467be2c4f63ff605841)**|koooootake|20/08/07<br/>21/04/08|220<br/>17|
|24|**[2018年これだけは知っておきたいiOSライブラリ31選](275fcee7406395919885)**|kohei1218|18/12/12<br/>19/03/18|669<br/>8|
|25|**[【Swift】Grand Central Dispatch (GCD)とOperationQueue まとめ ](693241f41344a9df6d6f)**|shiz|18/07/09<br/>20/07/16|234<br/>22|
|26|**[【iOS14】Widget(WidgetKit) まとめ](309349d9cdb75084e74e)**|shiz|20/07/12<br/>20/08/26|264<br/>7|
|27|**[StackViewを賢く使ってらくちんAutoLayout](ff58fcbd60ca81de77cb)**|yucovin|15/12/07<br/>15/12/22|892<br/>7|
|28|**[Swiftでカメラアプリを作成する(1)](f2ba9b7009b49fc2e30a)**|t\_okkan|18/04/05<br/>20/05/19|206<br/>14|
|29|**[MVVMを勉強するときに参考になった 概要まとめ & アンチパターン & リンク集](046c9a43b15b9e376198)**|ebi-toro|17/09/08<br/>20/02/04|236<br/>13|
|30|**[iOS13のSceneDelegate周りのアプリの起動シーケンス](31df103ef98a9d84ae6b)**|omochimetaru|19/09/25<br/>20/04/22|255<br/>11|
|31|**[ Swiftで簡単なTODOアプリを作ってみよう](8f474358d1dd789557f3)**|pe-ta|18/03/29<br/>21/06/26|204<br/>12|
|32|**[UIKitのView表示ライフサイクルを理解する](f133f73baaa71172efb2)**|shtnkgm|17/06/15<br/>18/01/13|353<br/>5|
|33|**[【iOS】デバイス(ローカル)にデータを保存する方法](c7a9b3218269c5c92fed)**|shiz|19/12/08<br/>20/08/04|110<br/>16|
|34|**[SwiftUI100本ノック](0838d1bb7a15ad1edb87)**|takoikatakotako|20/09/27<br/>21/02/16|296<br/>11|
|35|**[【iOS】Combineフレームワークまとめ](5efac86479db77a52ccc)**|shiz|19/06/08<br/>21/04/13|266<br/>13|
|36|**[Swiftによるアプリ開発のためのThe Composable Architectureがすごく良いので紹介したい](77c204ab091223f9cb14)**|yimajo|20/05/26<br/>21/06/30|207<br/>16|
|37|**[Swiftのmap, filter, reduce（などなど）はこんな時に使う！](cf83b22cb34921580a52)**|motokiee|15/12/02<br/>15/12/06|675<br/>8|
|38|**[【Swift】クロージャ（基本編）](9be7653cf8d002bac4ec)**|funacchi|18/03/07<br/>18/04/04|205<br/>10|
|39|**[Swiftにおける基本の概念](42efbd31678a962daa27)**|Kenta-Okuda|16/07/18<br/>18/06/01|116<br/>15|
|40|**[【iOS】対応必須かも？Sign In with Appleまとめ](5e094910f742c2ad72a4)**|shiz|19/06/06<br/>20/04/01|254<br/>7|
|41|**[時代の変化に応じて進化するCollectionView ~Compositional LayoutsとDiffable Data Sources~](a6032543a237bf2e1d19)**|shiz|19/06/16<br/>20/10/04|224<br/>6|
|42|**[Swift 4.0 エラー処理入門](67cf4d0f51c4d79f1d22)**|koishi|15/12/24<br/>18/10/03|420<br/>7|
|43|**[Swift 5.1 に導入される Opaque Result Type とは何か](338d2f2d0c4731e3508f)**|koher|19/03/19<br/>19/05/02|331<br/>9|
|44|**[【Swift】画面遷移の方法まとめ](b7f6c2f6c9f988ec38c7)**|misakiagata|19/06/11<br/>20/04/05|130<br/>8|
|45|**[SwiftUIアプリ開発実践ポイント](920f17868ee3f97ea17d)**|tattn|19/12/04<br/>19/12/04|234<br/>9|
|46|**[Swiftで複数の非同期処理の完了時に処理を行う](d9b78365a12b08d5bde1)**|shtnkgm|17/06/21<br/>21/05/23|234<br/>8|
|47|**[iosの開発を始めたあの日の僕に伝えたいこと。](87d4e7225e23db0b01ff)**|entaku0818|18/12/18<br/>19/02/12|136<br/>12|
|48|**[WWDC 2021のSwiftの並行処理関連のセッション一覧](8b162940991a8bbff5f2)**|koher|21/06/08<br/>21/06/23|122<br/>122|
|49|**[【Swift】Codableについて備忘録](deda5abcb0adc2217e86)**|s\_emoto|18/09/06<br/>19/04/15|138<br/>12|
|50|**[SwiftのOptional型を極める](c6f446bad54442a28bf4)**|koher|15/02/16<br/>17/12/22|1159<br/>8|
|51|**[Swiftのextensionは3パターンだけ〜そして条件付き適合へ･･･〜](4297bf60d222d661498f)**|crea|18/03/29<br/>18/04/07|288<br/>9|
|52|**[個人開発者がAppStore用にプライバシーポリシーを書く](94f012d20afdb692df20)**|Hiroki\_Kawakami|18/10/06<br/>19/02/20|251<br/>8|
|53|**[MVVM with Combineチュートリアル for iOS](a3d640be2a8feaf698bd)**|you\_matz|19/09/23<br/>19/09/23|175<br/>9|
|54|**[RxSwiftの機能カタログ](e80ab6bff4bbb170122d)**|k5n|16/08/03<br/>17/06/03|508<br/>6|
|55|**[iOS/Androidアプリにおける状態管理の複雑さにリポジトリパターンを拡張して立ち向かう（1/3 考え方編）](1d6477b8d4dc628522e7)**|KazaKago|20/12/02<br/>21/08/06|109<br/>24|
|56|**[使うと手放せなくなるSwift Extension集 (Swift 5版)](ff50e575bc149ecb8e80)**|tattn|19/12/09<br/>19/12/10|284<br/>8|
|57|**[【swift】イラストで分かる！classとstructの違いについて【初心者向け】](24d9e68ff965f8da09ad)**|chanNaru|19/04/22<br/>20/01/24|128<br/>8|
|58|**[iOSのスプラッシュ画面実装における注意点と実装方法](7de88a834bf01a6e858f)**|kboy|16/12/09<br/>19/08/30|281<br/>5|
|59|**[iOSライブラリ管理ツール「CocoaPods」の使用方法](479bcdf91cff2634ffb1)**|satoken0417|14/04/07<br/>17/03/23|772<br/>6|
|60|**[【Swift】プロパティについてのまとめ](2197a635ac616ab2f8e2)**|akeome|18/10/08<br/>18/10/08|107<br/>11|
|61|**[ワンランク上のSwiftを書くための厳選記法10選](59438946f8314da88e39)**|ruwatana|18/12/15<br/>18/12/20|198<br/>13|
|62|**[Swiftの @escaping と weak/unowned の理解](e45b65263c53037af1ee)**|ottijp|17/09/18<br/>19/04/02|197<br/>6|
|63|**[Swiftのエラーハンドリングはなぜ最先端なのか](c30f7a021fb9b8f0fa92)**|omochimetaru|18/11/25<br/>18/11/27|735<br/>3|
|64|**[SwiftでRealm Databaseを使ってみた](35dee1c03e055e450c81)**|ottijp|18/01/04<br/>19/06/13|150<br/>8|
|65|**[Swiftとオブジェクト間の通知のパターン](f07f1c61985214ceb7b3)**|shtnkgm|18/02/03<br/>18/07/22|159<br/>9|
|66|**[RxSwiftについてようやく理解できてきたのでまとめることにした(1)](e16ddc6017c4ad807c3c)**|\_ha1f|17/08/14<br/>18/06/27|214<br/>7|
|67|**[【Xcode】AppleDeveloperProgramに登録不要！！実機ビルドする方法](3f1dd0e7f5471bd4b7d9)**|natsumo|16/02/23<br/>19/09/09|117<br/>13|
|68|**[WKWebViewについてのまとめ（SwiftUIでの使い方も）](dc3d61626155f5cf83e7)**|s\_emoto|18/07/28<br/>21/01/02|110<br/>14|
|69|**[Swiftの有名画像キャッシュライブラリを比較してみた](422811dfc18ae919f8a4)**|hcrane|17/07/27<br/>19/09/05|283<br/>7|
|70|**[一部の画面だけSwiftUIを使いたいとき](73473cd2206afda3c5d4)**|owen|19/06/07<br/>19/09/05|134<br/>9|
|71|**[やっとわかったSwift/CoreData入門 【part1：概念編】](89203ccc72d964277818)**|pe-ta|18/12/15<br/>21/07/18|104<br/>9|
|72|**[（初心者向け） SwiftUIのビュー要素集](1375be076e1734e1cc42)**|MaShunzhe|20/10/16<br/>21/01/25|89<br/>20|
|73|**[Proposalには載っていないSwift 5のasync/awaitが素晴らしいと思う理論的背景](29357b5e00aec1962601)**|koher|17/10/24<br/>21/01/21|235<br/>13|
|74|**[iOS 13からのダークモード対応のコツ](c04b73787730c0e831df)**|gonsee|19/07/19<br/>19/07/19|245<br/>5|
|75|**[Custom URL Schemeでアプリ内の任意のページを表示する](67f12142522306c3f86a)**|yamataku29|17/02/23<br/>20/07/30|126<br/>10|
|76|**[Codableで色々なJSONに対応する](d14447a429948a3fb28c)**|Mt-Hodaka|17/10/20<br/>19/09/10|231<br/>4|
|77|**[そのまま使える！iOSアプリを作るためのswiftサンプル集](54192d304253103c07e9)**|ryupaka|18/06/27<br/>19/09/22|466<br/>2|
|78|**[Swift5.1のattribute全解説｜全27種](2cba98b545c913d990bc)**|shtnkgm|19/11/24<br/>19/11/29|139<br/>13|
|79|**[UITextFieldを使用する時に必要なあれこれ](f6c9e27898e60f295ebf)**|Todate|18/07/01<br/>18/11/16|137<br/>6|
|80|**[iOSアプリのファイル保存について](13642c4a8d55641f893e)**|nnsnodnb|16/08/19<br/>19/06/20|213<br/>5|
|81|**[【Swift】iOSアプリにプッシュ通知を実装したサンプルアプリを作ってみた](ebba9664494ce64ca1b8)**|natsumo|16/12/26<br/>20/07/09|169<br/>9|
|82|**[【Swift】未経験から実務までのスキルマップ(ロードマップ)](e2c846d12f2f5db7c426)**|Sossiii|20/11/04<br/>20/11/06|154<br/>12|
|83|**[iOSライブラリ選定チートシート](ad0ec4da3f510b885bea)**|kntkymt|19/05/20<br/>20/02/29|231<br/>7|
|84|**[【Swift】associatedtypeの使いどころ](78e650f27a4c53e1406a)**|akeome|19/12/01<br/>19/12/01|85<br/>9|
|85|**[SwiftでTableViewを使ってみよう](cafa8e20029047993025)**|pe-ta|18/03/14<br/>21/06/26|154<br/>6|
|86|**[テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話](4314451227f4d5eaa6b8)**|Kuniwak|17/11/30<br/>17/12/02|1681<br/>1|
|87|**[SwiftLintの全ルール一覧(Swift 4.2版)](7f5d6cf2b240f60ba1ed)**|uhooi|19/02/11<br/>21/01/02|124<br/>7|
|88|**[【Swift】超便利StackViewの実践的使い方！まだAutoLayoutで消耗してるの？](d08f84dbb711c5acbe28)**|kinopontas|16/03/21<br/>16/03/21|349<br/>7|
|89|**[【Swift】weakやunownedなどの参照についてまとめてみた](b00d52c9bc49603f99a5)**|rockname|18/07/16<br/>18/07/16|112<br/>8|
|90|**[Metal入門・・・の前の基礎知識](b95e97d50c738ba6c39a)**|shu223|17/11/29<br/>19/03/12|189<br/>4|
|91|**[【Swift】delegate実装の流れ](04505ed549178555b10b)**|s\_emoto|18/02/11<br/>20/06/23|96<br/>8|
|92|**[世界一わかりやすくクラスとインスタンスを説明する](1378dc6926e29bd01206)**|\_ha1f|16/06/21<br/>19/06/17|130<br/>7|
|93|**[【Swift】NotificationCenterの使い方](2b142361996657463e5f)**|ryo-ta|18/06/17<br/>19/07/26|92<br/>9|
|94|**[XIBからViewを生成する4つの実装パターン](7c7ecdcb1f16c21b0051)**|marty-suzuki|18/09/07<br/>18/09/10|162<br/>5|
|95|**[Swift 3 の @escaping とは何か](1232dbfe8208e77ed10e)**|mishimay|16/09/10<br/>16/09/10|323<br/>7|
|96|**[Swift演算子まとめ](a1dd2eb0bf37302c1c81)**|KentaKudo|15/12/05<br/>19/11/13|262<br/>8|
|97|**[初の個人アプリを App Store に審査出したら 30 分足らずでリリースされてビビったからその全てをお伝えします](67906ec593ebd91d608d)**|lovee|20/01/14<br/>20/01/23|437<br/>1|
|98|**[Swift の guard は正しく使いましょう](08b8b7bf901df4173495)**|satoshin2071|16/04/26<br/>20/08/20|206<br/>5|
|99|**[[Swift] [Xcode] 脱・初級者のための学習ソース](f3432fa2be6577e6b06b)**|y-some|18/08/05<br/>20/03/15|114<br/>5|
|100|**[イメージで理解するSwiftの高階関数（filter, map, reduce, compactMap, flatMap）](eaad3c6ab368463de8e3)**|shtnkgm|19/08/18<br/>19/08/21|134<br/>8|
[^1]: 1行目が総数。2行目が直近3ヵ月。