Swift: Create Facebook’s Tab Menu system with UITabBarController

my review point is 9/10

https://youtu.be/1Sg7HjR_k2c?t=2m30s   UITabBarController 만들어 사용하기

https://youtu.be/1Sg7HjR_k2c?t=4m3s   UITabBarController에 있는 viewControllers 프로퍼티를 다른 view controller로 채운다. 하단의 텝에 나오는 tab bar styling은 UINavigationController obj를 이용한다. title, tabBarItem 속성을 이용한다.

https://youtu.be/1Sg7HjR_k2c?t=16m43s   tab bar가 투명하게 하는 것을 막는 작업 (UINavigationController 내의 tabBar.translucent = false )

https://youtu.be/1Sg7HjR_k2c?t=18m   tab bar top border 바꾸기

https://youtu.be/1Sg7HjR_k2c?t=21m35s   기본적으로 텝이 선택되고 안 선택되고에 따라 버튼의 색이 ios 에 의해 지정되는데 이를 수정하는 작업 ( AppDelegate에서 UITabBar.appearance().tintColor 를 수정한다. )

Swift: Loading Images Asynchronously and storing with NSCache and NSURLCache

my review point is 9/10

https://youtu.be/BIgqHLTZ_a4?t=1m55s   getting image from url ( NSURLSession.sharedSession().dataTaskWithURL )

https://youtu.be/BIgqHLTZ_a4?t=7m18s   개발자가 만들어 사용하는 image caching example

https://youtu.be/BIgqHLTZ_a4?t=10m45s   memory low warning hook ( didReceiveMemoryWarning )

https://youtu.be/BIgqHLTZ_a4?t=11m30s   apple에서 제공하는 NSCache를 이용한 caching 작업

https://youtu.be/BIgqHLTZ_a4?t=13m45s   url작업은 기본 cache 기능이 있는데 이 기준치를 변경하는 방법 ( NSURLCache )

Swift: Facebook News Feed – Dynamic Cell Content

my review point is 8/10

https://youtu.be/L9cZrAbxN1E?t=12m52s   estimate size of cell which depends on length of string

Swift: Create Facebook (Part 2) – UICollectionView, NSLayoutConstraint

my review point is 8/10

https://youtu.be/ZwBYQpLQAvw?t=8m15s   button style ( setTitle, setTitleColor , setImage , titleEdgeInsets)

https://youtu.be/ZwBYQpLQAvw?t=14m35s   equally spaced out elements 

https://youtu.be/ZwBYQpLQAvw?t=18m37s   refresh collection view when user change orientation ( viewWillTransitionToSize , invalidateLayout)

Swift: How to create Facebook News Feed (Part 1) – UICollectionView, NSLayoutConstraint

my review point is 8/10

https://youtu.be/NJxb7EKXF3U?t=13m40s   extension for better adding constraints

https://youtu.be/NJxb7EKXF3U?t=17m32s   스타일이 다른 두 스트링을 한번에 처리하는 경우 ( NSMutableAttributedString , appendAttributedString , 레이블obj.numberOfLines , NSMutableParagraphStyle)

attributed string에는 작은 이미지를 덧붙일수 있다.

https://youtu.be/NJxb7EKXF3U?t=21m29s   attachment를 string 에 덧붙이기 ( NSTextAttachment )

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 )