僕的Swiftを学ぶ上で勉強させてもらった記事まとめ

##2の2
AutoLayoutの制約
https://www.1915keke.com/entry/2018/08/30/160607





translatesAutoresizingMaskIntoConstraintsとは
https://qiita.com/ryusukefuda/items/ec04b743683c58958fc3

https://dev.classmethod.jp/smartphone/new-auto-layout-feature/

UIButtonの(type: .system)
https://teratail.com/questions/95256

UIButtonのコードの意味
https://qiita.com/osamu1203/items/9c5680d78d77146a9cfc

// 部品のコンポーネント化
UIStackViewのコードの意味
https://qiita.com/taka1068/items/69273f05d34cfbeb3679

・部品のコンポーネント化


##2の3
let view = UIView()のUIView()とは
https://iphone-tora.sakura.ne.jp/uiview.html

logoImageView.contentMode = .scaleAspectFill
http://blog.officekoma.co.jp/2016/10/swiftuiimageviewcontentmode.html

NSMutableAttributedString
https://qiita.com/miyamotok0105/items/4fbf032127fe746270b9

NSAttributedString.Key
https://qiita.com/roba4coding/items/7a5decc7e4f6137fcc88

NSAttributedString.Key(updata)
https://developer.apple.com/documentation/foundation/nsattributedstring/key/1528839-font

・ロゴの中心配置

        // 文字をX軸方向に中央配置
            logoImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        // 文字をY軸方向に中央配置
            logoImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true

##2の4
withRenderingMode(.alwaysOriginal)
https://qiita.com/nashirox/items/2229b82dd68c6cc64603


//X軸とY軸を指定
.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
http://makoto1212.hatenablog.com/entry/2017/10/06/200000

addTarget(self, action: #selector(handleShowSignUp), for: .touchUpInside)
http://programming-beginner-memo.com/?p=20

  _  = navigationController?.popViewController(animated: true)
http://chocoffee.cafeblog.jp/archives/8169412.html?1549065853#comment-1


・ViewControllerを簡単に行き来

        // window?.rootViewController = UINavigationController(rootViewController: LoginVC())
LoginVC上で白枠のナビゲーションが出てしまうので、それを隠す
navigationController?.navigationBar.isHidden = true

ボタンの addtargetに
let singUpVC = SingUpVC()
navigationController?.pushViewController(singUpVC,animated: true)

    //popViewController 一つ前のviewに戻る
    @objc func handleShowLogin(){
        _ = navigationController?.popViewController(animated: true)
    }


##2の5
guard 
http://programming-beginner-memo.com/?p=398

guard let email = emailTextField.text else { return }の{ return }
https://www.sejuku.net/blog/32607

addTarger for: .editingChanged 
テキスト
https://hajihaji-lemon.com/smartphone/swift/uitextfield_event/


localizedDescription
https://qiita.com/koitaro/items/b4aef035fad757d8ade4

変数をprintで出力する
print("\(変数名)")

##2の6
Delegate
https://techacademy.jp/magazine/15055

= UIImagePickerController() .delegate = self .allowsEditing = true
https://qiita.com/unicoonn1/items/1cd43b841bcdfc8762ae

metadata
https://firebase.google.com/docs/storage/ios/file-metadata?hl=ja

##3の7
UINavigationController
https://github.com/mixi-inc/iOSTraining/blob/master/Swift/pages/day2/1-1_UINavigationController.md

viewControllers
https://github.com/mixi-inc/iOSTraining/blob/master/Swift/pages/day2/1-1_UINavigationController.md

configureNavController(unselectedImage: UIImage, selectedImage: UIImage, rootViewController: UIViewController =
UIViewController()) -> UINavigationController {

rootViewControllerとUIViewControllerの階層の関係性
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11165980406

UICollectionViewFlowLayout
https://qiita.com/takehilo/items/d0e56f88a42fb8ed1185

collectionViewLayout: UICollectionViewFlowLayout()))
https://techlife.cookpad.com/entry/2017/06/29/190000

## 3の8
leftBarButtonItem
https://hajihaji-lemon.com/smartphone/swift/uinavigationitem/

UIBarButtonItem
https://iphone-tora.sakura.ne.jp/uibarbuttonitem.html

UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
https://qiita.com/funafuna/items/b76e62eb82fc8d788da5

UIAlertAction
https://qiita.com/funafuna/items/b76e62eb82fc8d788da5

addAction

do try catch(try Auth.auth().signOut() の時の throw)
https://qiita.com/ika_tarou/items/534eb8ce7cd6dcebb5ca
https://qiita.com/koishi/items/67cf4d0f51c4d79f1d22

DispatchQueue.main.async
https://qiita.com/ShoichiKuraoka/items/bb2a280688d29de3ff18

UIApplication.shared.keyWindow?.rootViewController as?
http://dealforest.hatenablog.com/entry/2016/12/14/124555

## 3の9
observeSingleEvent
https://qiita.com/tfutada/items/12ec90ef8fa1b9f871ec

非同期
https://qiita.com/kiyodori/items/da434d169755cbb20447

文字列をキャスト
guard let dictionary = snapshot.value as? Dictionary<String, AnyObject> else { return }


private 
http://oropon.hatenablog.com/entry/2014/09/12/013711


register
https://qiita.com/takehilo/items/1145240bb3b72f7d0317

https://developer.apple.com/documentation/uikit/uicollectionview/1618068-dequeuereusablesupplementaryview

dequeueReusableSupplementaryView



UICollectionViewDelegateFlowLayout
https://qiita.com/takehilo/items/dc478d2182595b8ae332


numberOfLines

[NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: 14)]
https://qiita.com/toshi586014/items/a24a8243e32b12887293


append
https://swift.tecc0.com/?p=505

attributedText

borderWidth
https://qiita.com/arthur87/items/a1aa46e9f498d85d6546

cgColor
https://qiita.com/mtfum/items/a4f42c646ac2805c3fd4

##3の10
var username: String!
https://qiita.com/maiki055/items/b24378a3707bd35a31a8

Dictionary
https://yuu.1000quu.com/using_the_swift_of_dictionary

AnyObject
https://qiita.com/Kenya/items/7fcdf0249d94669ffb20

##3の11
URL(string: urlString) else { return }
https://code.i-harness.com/ja-jp/q/19cf0b6

URLSession.shared.dataTask
https://github.com/mixi-inc/iOSTraining/blob/master/Swift/pages/day3/4-2_HTTP-request-basic.md

DispatchQueue.main.async
https://qiita.com/lumbermill/items/7553a6ace26019f08bc6

非同期でやる意味
https://dev.classmethod.jp/smartphone/iphone/swift-3-how-to-use-gcd-api-1/

imageCache
https://qiita.com/yasui83/items/73c31ddb72337e674fe3

引数
https://wp-p.info/tpl_rep.php?cat=swift-biginner&fl=r19

URL(string: urlString) else { return }

##4の12
style: .subtitle
https://weblabo.oscasierra.net/swift-uitableview-2/

clipsToBounds
https://dev.classmethod.jp/smartphone/iphone/uiimageview-aspectfill-clipsubviews/

cellForRowAt
https://weblabo.oscasierra.net/swift-uitableview-1/

override func numberOfSections
https://qiita.com/Ryosuke-Hujisawa/items/c8164b41e5fd6bc5a9ef

separatorInset
http://mjk0513.hateblo.jp/entry/2017/03/31/005624

textLabel!.frame.origin.y - 2
https://iphone-tora.sakura.ne.jp/uikit_size.html

layoutSubviews
http://snoozelag.hatenablog.com/entry/2017/05/22/181048

UIEdgeInsets
http://d.hatena.ne.jp/corrupt/20111005/1317814836

## 4の13
observe
https://hawksnowlog.blogspot.com/2018/03/multiple-call-observe-method.html

reloadData
https://qiita.com/mag4n/items/bcdf1e88794317cf8c9c

didSet
http://www.cl9.info/entry/2017/09/30/220000

didSelectRowAt
http://mjk0513.hateblo.jp/entry/2017/07/01/220542

indexPath.row
http://chumix.hatenablog.com/entry/2013/09/18/134339

## 4の14
UICollectionView
https://dev.classmethod.jp/smartphone/iphone/ios6-uicollectionview/

collectionViewLayout: UICollectionViewFlowLayout()
https://techlife.cookpad.com/entry/2017/06/29/190000

navigationController?.pushViewController
https://qiita.com/superman9387/items/c006ced215352f28a7b9

## 4の15
updateChildValues
https://firebase.google.com/docs/database/ios/save-data?hl=ja

## 4の16
updateChildValues
https://firebase.google.com/docs/database/ios/save-data?hl=ja
https://qiita.com/imajoriri/items/f4080f67e08c0b529120

 @escaping(Bool)
https://qiita.com/mishimay/items/1232dbfe8208e77ed10e

クロージャとは
https://techacademy.jp/magazine/14499

##4の18
UITapGestureRecognizer
https://i-app-tec.com/ios/uigesturerecognizer.html
https://qiita.com/h_nagami/items/06a87514c49dd86c38ad

isUserInteractionEnabled
http://programming-beginner-memo.com/?p=13

addGestureRecognizer
https://qiita.com/h_nagami/items/06a87514c49dd86c38ad

オーバーライド
https://hajihaji-lemon.com/smartphone/swift/%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%AE%E7%B6%99%E6%89%BF/

numberOfRowsInSection
https://qiita.com/senseiswift/items/9b5476531a843b0e314a

TableView
https://qiita.com/senseiswift/items/9b5476531a843b0e314a

cellForRowAt
https://weblabo.oscasierra.net/swift-uitableview-1/
https://qiita.com/sasurai_usagi3/items/af8c70f8ae739b3282b6
http://programming-beginner-memo.com/?p=17
http://programming-beginner-memo.com/?p=15

## 4の19
childAdded
https://firebase.google.com/docs/database/unity/retrieve-data?hl=ja

FIRDatabaseReference
https://firebase.google.com/docs/database/ios/read-and-write?hl=ja

## 4の20
UIColor.lightGray.cgColor
https://qiita.com/mtfum/items/a4f42c646ac2805c3fd4

allObjects
https://developer.apple.com/documentation/foundation/nsset/1417653-allobjects

forEach

overried func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
https://i-app-tec.com/ios/tableview-cell.html

selectionStyle
https://qiita.com/takashings/items/36b820f09fb19edd7556

## 5の21
numberOfItemsInSection
http://shimada-k.hateblo.jp/entry/2014/02/15/235944

referenceSizeForHeaderInSection
https://qiita.com/akatsuki174/items/626fe4d71990694f946f
https://qiita.com/hanoopy/items/00387eb28879f003fa6d

viewForSupplementaryElementOfKind
http://www.irohabook.com/swift-uicollectionview-header

dequeueReusableCell
http://programming-beginner-memo.com/?p=15

as!
強制ダウンキャスト
https://qiita.com/entry909/items/3c4c9a20bce0c903dc39

minimumInteritemSpacingForSectionAt
minimumLineSpacingForSectionAt
https://qiita.com/robokunx/items/ed3bbb4edb94e226b8db


UITabBarController
https://qiita.com/_ha1f/items/1109fc80b8613a3780d4

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
https://qiita.com/higan96/items/5ea742b59a48a34baa32

dismiss
Swift ポケットリファレンス
https://gihyo.jp/book/2018/978-4-7741-9617-6
p132

## 5の22
PHAsset.fetchAssets
http://www.cl9.info/entry/2017/09/25/145955

PHFetchOptions
http://himaratsu.hatenablog.com/entry/ios8/photos

fetchLimit
https://hajihaji-lemon.com/smartphone/swift/coredata-fetch/

NSSortDescriptor
http://seiya-orz.hatenablog.com/entry/2015/07/15/001705

DispatchQueue.global(qos: .background).async 
https://qiita.com/lumbermill/items/7553a6ace26019f08bc6

PHImageManager.default
https://teratail.com/questions/136298

![スクリーンショット 2019-04-13 21.06.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325154/fa427cb2-2c2e-a470-6782-8df65aa36e83.png)

=>シミュレーター内の、作ったアプリを削除する
写真へのアクセスを許可するメッセージが出る

## 5の24
UITextViewDelegate
https://secondflush2.blog.fc2.com/blog-entry-945.html

textViewDidChange
https://kawairi.jp/weblog/vita/201311189607

updateChildValues
https://firebase.google.com/docs/database/ios/read-and-write?hl=ja

NSUUID
https://qiita.com/motokiee/items/9e41b6aba0c6898d373d

putData
https://qiita.com/Yuuki_Takahasi/items/329680d1cd56190b4f00


## 5の25
init
https://www.sejuku.net/blog/34512

childByAutoId
https://qiita.com/waka-ka/items/3688a4d8120ab7de5dbd
https://firebase.google.com/docs/database/ios/save-data?hl=ja


updateChildValues
https://firebase.google.com/docs/database/ios/save-data?hl=ja

cellForItemAt
https://qiita.com/azuma317/items/bf1a687f912159297cb1

minimumInteritemSpacingForSectionAt
minimumLineSpacingForSectionAt

http://ichi6161.hatenadiary.jp/entry/2018/02/25/202606

##5の26
sort
https://swift.tecc0.com/?p=240

UICollectionViewController
http://programming-beginner-memo.com/?p=141

Double
https://qiita.com/makopy_inside/items/c739a0a9e95c9c561a78

TimeInterval
https://swift.tecc0.com/?p=180

## 5の27
collectionView
http://natsuapps.com/note/2012/09/ios6-collection-view-basic.html

##5の28
FeedVCの//ロゴを変更した
https://qiita.com/fromage-blanc/items/29335b3f401136e2993e

##6の36
lazy var
タップジェスチャーを使うときには、この変数にする必要がある。15:35/17:44

##15の74
UILabel, UITextField, UITextView の違い
https://ja.stackoverflow.com/questions/2378/uilabel-uitextfield-uitextview-%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B


## 別講座　ver 2
intrinsicContentSize
https://qiita.com/shtnkgm/items/f0b189e4184fe6c90707