【初心者向け】【まとめ】iOSアプリを作ろうとしている方がまず見るべきQiitaの記事をまとめてみました【Swift】

##iOSアプリのためのまとめ記事が欲しかった

iOSエンジニアになって早8ヶ月。

最近ようやく慣れてきたものの、初めは実装するのにとっても時間がかかりました。

というのは、**実装についてまとまったオールインワンの記事があまりなかった**ことがもしかしたら原因なのかもと思っています。（自分でもっと勉強しろって話かもしれないですが…）

なので、今回は、自身が開発をしていく上で参考にした記事をまとめてみたいと思います。

これからiOS開発をする方に参考になればと思っています。

##参考になるかもしれないソースコード


この記事を作っていくにあたって、以下の記事を参考にして実装したものを載せています。

これを見ながら記事と共に勉強していただければ幸いです。


https://github.com/taichi6930/iOSAppBase/tree/master

##早速見るべき記事

###ライフサイクル

iOSアプリがどのように動いているか、といった感じです。
作る際にここがわかっていないと「？？」となりまくってしまいます（自分がそうでした）。

アプリ作成前に一度読んでおくと良いと思います。

iOSアプリのライフサイクル
https://qiita.com/KenNagami/items/766d5f95940c76a8c3cd

UIViewControllerのライフサイクル
https://qiita.com/motokiee/items/0ca628b4cc74c8c5599d

AppDelegate,UIViewController,UIViewのライフサイクル/iOS/Swift
https://qiita.com/kayo311/items/4710c4ac02a191652a96

iosアプリ　ViewControllerのライフサイクル
https://qiita.com/usutan/items/71760df10e8523166bab


###ページ遷移について

ページ間での移動についてです。
ここも全然分からなかったので、最初に読んでおいた方がいいと思います。
（ページ遷移しないと、ただのワンページアプリになってしまうのでw）

同じ/異なるStoryboardでの画面遷移
https://qiita.com/kedarui/items/97b5cc1410d9c61933d5

Swiftのページ遷移【Navigation Controller】
https://qiita.com/ryu1_f/items/4a0e452e94c9ba609220


###TableView

画像のようにcellが縦方向に続いていくViewです。

自身のソースコードではセルの生成とタップ時の処理を記載しました。
（例が少ないので足していく予定です…）

![スクリーンショット 2020-03-29 13.27.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/c6e7b47d-c7bc-f522-3232-24fe7c899b19.png)


参考になった方々の記事です↓

SwiftでTableViewを使ってみよう
https://qiita.com/pe-ta/items/cafa8e20029047993025

UITableViewの使い方 【Swift4.2 , Xcode10】
https://qiita.com/abouch/items/3617ce37c4dd86932365

UITableViewのデリゲートメソッドまとめ
https://qiita.com/kagemiku/items/22b74010365723c5c4fe



###CollectionView

画像のようにcellが横方向に続いていくViewです。

自身のソースコードでは、セルの生成とタップ時の処理を記載しています。

TableViewと同様に作成すれば良かったので、まずはTableViewを作成してみてください！

![スクリーンショット 2020-03-29 13.30.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/ef37403f-ac4b-1de8-049c-778d1875451b.png)



###WebView

アプリ内でWebページが見れるViewです。

今回はWKWebViewを使用して作成しました。

cookie処理などは入れていないので、今後行っていければいいなと思っています。

![スクリーンショット 2020-03-29 13.34.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/8ecab95b-b1cd-99b1-0dc6-3a8be7eff3c7.png)

参考になった方々の記事です↓

WebKit View(WKWebView) を実装
https://qiita.com/MdRk/items/34912e7ba43568f15905

WKWebViewについてのまとめ
https://qiita.com/s_emoto/items/dc3d61626155f5cf83e7
（まだ実装出来ていないので今後していきたい…）


###生体認証

端末によってはFaceIDやTouchIDでログインすることができるアプリがあります。

端末によってtouchIDだったりFaceIDだったり変化させています。

そこまで難しくなかったので実装してみました。

![スクリーンショット 2020-03-29 13.50.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/4563946f-08d8-4089-06e0-ef6c2f0e1c13.png)


参考になった方の記事↓

【iOS 11】LocalAuthenticationでFace IDとTouch IDの認証を実装する
https://qiita.com/MilanistaDev/items/b0cd432290d18f336766


###Alert表示

画像を見れば明らかですがアラート表示についてです。

![スクリーンショット 2020-03-29 13.51.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/9fce7086-524a-ef48-5a87-1e4231dd3ffc.png)

参考になった方々の記事↓

【Swift】アラートを表示する（Alert／ActionSheet）
https://qiita.com/funacchi/items/b76e62eb82fc8d788da5


##最後に

この記事は自分のために作ったみたいなところがあります。
今後もメモのような感じで残せたらと思います。

何か不足だったり指摘だったり、こんなの載せて欲しいというのがあったら是非気軽に言っていただきたいです！