Swift: Firebase 3 – How to Swipe to Delete Messages in UITableView (Ep 22)

my review point is 10/10

https://youtu.be/KkHEEhftUk0?t=1m50s   make editing possible , making sliding out possible ( allowsMutipleSelectionDuringEditing , canEditRowAtIndexPath , commitEditingStyle)

https://youtu.be/KkHEEhftUk0?t=4m26s   table 에서 cell을 삭제할때 firebase에서도 row를 삭제하는 과정 ( FIRDatabase.database().reference().child(썸띵).removeValueWithCompletionBlock )

https://youtu.be/KkHEEhftUk0?t=14m14s   firebase내의 요소가 제3의 방식으로 삭제되는 경우 app에서 이에 대응하는 코드를 만드는 경우 ( .ChildRemoved )

Swift: Firebase 3 – How to Play Videos with AVPlayer (Ep 21)

my review point is 10/10

https://youtu.be/4ISMTG-E3Po?t=2m28s   image view에 플레이 버튼 만들기 

https://youtu.be/4ISMTG-E3Po?t=5m54s   button에 image 넣기 ( 버튼obj.setImage() , 이미지obj.tintColor()  )

https://youtu.be/4ISMTG-E3Po?t=11m54s   play button 클릭시 플레이 구현하기

https://youtu.be/4ISMTG-E3Po?t=15m6s   연달아서 optional unwrap 하기 

https://youtu.be/4ISMTG-E3Po?t=14m10s   avplayer 를 이용 동영상 플레이하기 ( AVPlayerLayer , 유아임뷰obj.layer.addSublayer()  )

https://youtu.be/4ISMTG-E3Po?t=19m33s   스크롤시 avplayer의 플레이 내용이 다른 cell에 디스플레이 되는 것을 해결하는 방법 ( prepareForReuse )

https://youtu.be/4ISMTG-E3Po?t=22m10s   avplayer pause 

https://youtu.be/4ISMTG-E3Po?t=23m56s   when play button is clicked, progress spinner is spinning. make spinner ( UIActivityIndicatorView , 액티버티인디케이터obj.startAnimating )

Swift: Firebase 3 – How to Send Videos (Ep 20)

my review point is 9/10

https://youtu.be/eRkpdRDYGeM?t=3m20s   image picker controller에서 video도 선택 가능하게 하는 과정 ( mediaTypes )

https://youtu.be/eRkpdRDYGeM?t=6m9s   getting media file url ( UIImagePickerControllerMediaURL ) 

https://youtu.be/eRkpdRDYGeM?t=7m18s   firebase에 file upload , media file upload 

https://youtu.be/eRkpdRDYGeM?t=9m   firebase에서 file 다운로드 경로 구하기 ( donwloadURL()?.absoluteString )

https://youtu.be/eRkpdRDYGeM?t=13m40s   checking progress , observing task ( observeStatus , progress?.completedUnitCount)

https://youtu.be/eRkpdRDYGeM?t=20m15s   getting image from video file ( AVAssetImageGenerator ,  AVAsset , copyCGImageAtTime)

Swift: Firebase 3 – How to Implement Image Zoom (Ep 19)

my review point is 9/10

https://youtu.be/fo3nSRBWfRA?t=2m15s   add tap gesture recognizer ( userInteractionEnabled , addGestureRecognizer )

https://youtu.be/fo3nSRBWfRA?t=10m26s   superview의 frame 좌표, 크기 

https://youtu.be/fo3nSRBWfRA?t=11m58s   getting present window ( UIApplication.sharedApplication().keyWindow )

https://youtu.be/fo3nSRBWfRA?t=13m50s   image 확대 animation

https://youtu.be/fo3nSRBWfRA?t=18m34s   making backdrop and fading in animation

https://youtu.be/fo3nSRBWfRA?t=21m5s   image fade out animation

https://youtu.be/fo3nSRBWfRA?t=27m25s   remove ui view from super view ( removeFromSuperview )

https://youtu.be/fo3nSRBWfRA?t=28m7s   초기 반응 속도가 빠른 animation ( usingSpringWithDamping )

Swift: Firebase 3 – How to Fix Image Bubble Sizing (Ep 18)

my review point is 9/10

https://youtu.be/FqDVKW9Rn_M?t=3m50s   getting image size ( 이미지obj.size.width, 이미지obj.size.height )

https://youtu.be/FqDVKW9Rn_M?t=22m57s   collection view에 요소가 추가되고 난후 새로운 위치로 scroll하는 경우 ( scrollToItemAtIndexPath )

Swift: Firebase 3 – How to Send Image Messages (Ep 17)

my review point is 8/10

https://youtu.be/R07TcmTR3w0?t=6m56s   imageview를 클릭하면 image picker가 화면에 표시되게 하는 작업 ( addGestureRecognizer , userInteractionEnabled , UIImagePickerController , presentViewController , UIImagePickerControllerDelegate , imagePickerControllerDidCancel , dismissViewControllerAnimated , 이미지픽커obj.allowEditing)

https://youtu.be/R07TcmTR3w0?t=11m40s   image picker 로 전달받은 이미지를 firebase로 업로드 하는 방법 ( FIRStorage.storage().reference().child() )