https://www.hackingwithswift.com/100
Day 16 - Project 1, part one
- Setting up
- Listing images with FileManager
- Designing our interface
Day 17 - Project 1, part two
- Building a detail screen
- Loading images with UIImage
- Final tweaks: hidesBarsOnTap, safe area margins
Day 18 - Project 1, part three
- Wrap up
- Review for Project 1: Storm Viewer
Day 19 - Project 2, part one
- Setting up
- Designing your layout
- Making the basic game work: UIButton and CALayer
Day 20 - Project 2, part two
- Guess which flag: random numbers
- From outlets to actions: creating an IBAction
Day 21 - Project 2, part three
- Wrap up
- Review for Project 2: Guess the Flag
Day 22 - Project 3
- About technique projects
- UIActivityViewController explained
- Wrap up
- Review for Project 3: Social media
Day 23 - Milestone: Projects 1-3
- What you learned
- Key points
- Challenge
Day 24 - Project 4, part one
- Setting up
- Creating a simple browser with WKWebView
- Choosing a website: UIAlertController action sheets
Day 25 - Project 4, part two
- Monitoring page loads: UIToolbar and UIProgressView
- Refactoring for the win
Day 26 - Project 4, part three
- Wrap up
- Review for Project 4: Easy Browser
Day 27 - Project 5, part one
- Capture lists in Swift: what’s the difference between weak, strong, and unowned references?
- Setting up
- Reading from disk: contentsOfFile
- Pick a word, any word: UIAlertController
Day 28 - Project 5, part two
- Prepare for submission: lowercased() and IndexPath
- Checking for valid answers
- Or else what?
Day 29 - Project 5, part three
- Wrap up
- Review for Project 5: Word Scramble
Day 30 - Project 6, part one
- Setting up
- Advanced Auto Layout
- Auto Layout in code: addConstraints() with Visual Format Language
Day 31 - Project 6, part two
- Auto Layout metrics and priorities: constraints(withVisualFormat:)
- Auto Layout anchors
- Wrap up
- Review for Project 6: Auto Layout
Day 32 - Milestone: Projects 4-6
- What you learned
- Key points
- Challenge