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

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

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