In github, i found a wonderful project --- 30DaysofSwift Project.
That project is not all built with code. In my pointview, StoryBoard has many disadvantage.StoryBoard will hide the properties of many controls. Reading by others will cause a lot of problems, which is not conducive to code sharing. It is also a problem in teamwork.The structure of StoryBoard confused me when I was studying, so I followed his project to refactor and add my own elements by pure Swift code.
- understand UIApplication, UIViewController, UIView all inherit from NSObject
- UIWindow is the main window for App.
- know UIFont.familyNames and fontNames(forFamilyName: family)
- learn addTarget method (object connect with communicate event)
- using UITableViewDataSource, UITableViewDelegate protocols and their methods.
- learn willSet and didSet property observer
- review addTarget method
- Timer method scheduledTimer() and invalidate()
- learn AVPlayer and AVPlayerViewController
- learn present method to push ViewController (diffrent from UINavigationController.pushViewController)
- learn customize UITableViewCell
- learn UICollectionView and customize UICollectionViewCell
- use UIVisualEffectView
- know protocol UICollectionViewDelegateFlowLayout and UIScrollViewDelegate
- learn import CoreLocation and use instance of CLLocationManager
- know about CLLocationManagerDelegate protocol
- CLLocation convert CLGeocoder
- learn UIRefreshControl
- learn append data and reload tableView
- use NSAttributedString to change text style
- learn AVAudioPlayer import from AVFoundation
- use gradientLayer and drand48()
- learn UIScrollView
- learn UIScrollViewDelegate (use viewForZooming method and minimumZoomScale, maximumZoomScale)
- view.layer.addSubLayer(AVPlayerLayer)
- learn NotificationCenter and register observers
- know about AVPlayerItem and AVPlayerLayer
- review CAGradientLayer and UITableView
- set navifationBar.barStyle and navigationBar.titleTextAttributes
- study UIView.animate
- learn about present and dismiss method
- review animate and connect tableViewCell
- review Clear style about Cell
- study UIPickerView and UIPickerViewDataSource UIPickerViewDelegate
- know about layer.mask
- study CAKeyframeAnimation and CAAnimationDelegate
- understand custom present transition animation
- UIViewControllerAnimatedTransitioning and UIViewControllerTransitioningDelegate is really imporant
- review custom cell, transition and UIVisualEffectView
- learn about CGAffineTransform
- learn UITextView and limit its text count
- review transition animation and style like App Store Card animation