8000 GitHub - milanpanchal/hundred-days-swift: Documenting attempt to complete Hacking Swifts 100 Days challenge
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

milanpanchal/hundred-days-swift

 
 

Repository files navigation

100 Days of Swift Challenge 🚀

Here we go! This is the home of the efforts at taking on Hacking Swift's 100 Days of Swift challenge

Everything that is marked in comment (.md format > text or /```swift/ blocks) is Paul Hudsons work I am taking notes on, and not my original thought unless otherwise indicated

Study Structure

Days organized by folders containing

  • ressources consulted
  • notes sheet in markdown
  • playground and other Xcode run code files used for practice

🔨 Built With

📆 Schedule log

1️⃣ Introduction to Swift

The first 12 days provide a gentle warm up for your Swift learning. You’ll watch about a selection of one-minute videos every day, and complete short quizzes about each of those videos.

Challenge day Calendar day Within goaltime? What was new?
Day 01 March 30 - 31 ~ Review of pre-challenge practice
Day 02 March 31 – April 1 ~ Recall tuples and dictionaries, how to create empty collections
Day 03 April 3 Allowed to write with _ as a seperator
Day 04 April 6, 9 ~ Looping ranges
Day 05 April 9 Parameter labels, default params, throwing functions, inout params
Day 06 April 11 Closures 💣
Day 07 April 14, 19, 21 ~ Shorthand params, closures as params when they return values, returning closures
Day 08 April 21, 22, 23 ~ Property observers
Day 09 April 23, 29, 30 ~ lazy properties, static properties
Day 10 April 30, May 14 ~ to be reviewed...
Day 11 May 14, 25 ~ to be reviewed...
Day 12 May 26, 27, 28 ~ to be reviewed...

2️⃣ Consolidation I

You just learned a lot about Swift in only 12 days, so before we continue it's important you reflect on what you've learned: look for weak spots, re-watch videos, re-take tests, and so on, until you feel comfortable that you have mastered all the Swift language fundamentals covered in days 1-12.

Challenge day Calendar day Within goaltime? What was new?
Day 13 June 4 to be reviewed...
Day 14 June 4, 5 ~ to be reviewed...
Day 15 June 5 to be reviewed...

3️⃣ Starting iOS

Now that you’ve mastered the basics of Swift, in these days you’ll start building real iOS apps using what you learned.

Challenge day Calendar day Within goaltime? What was new?
Day 16 June 8 to be reviewed...
Day 17 June 11, 12, 15 ~ to be reviewed...
Day 18 June 17 Unwrapped with guard if faster than I expected! yay!
Day 19 June 18 Shortcuts to Auto Layout constraints cgColor
Day 20 June 25 Shuffle flags, correct score, quiz insights
Day 21 July 8 Project 2 challenges complete; Connecting all the right information at the right moment in the control of flow based on previous challenges.
Day 22 July 8, 17, August 6, 13 ~ Project 3 and chapter wrap up challenges; UIActivityControllers from start to finish

4️⃣ Consolidation II

In the last few days we covered some of the fundamentals of iOS development, and before we move on to the next set of projects it’s important to take a step back and review what you’ve learned.

Challenge day Calendar day Within goaltime? What was new?
Day 23 August 13, 20, September 17 ~ Consolidation II : Starting iOS Milestones; 💥 tricky figuring out how to programatically fill in the table view with file manager in a clean way

5️⃣ Web views, user input, and Auto Layout

The next three projects we’re looking at will push your iOS skills further as you create some user interface in code, manage table views more carefully, and get some experience with closures.

Challenge day Calendar day Within goaltime? What was new?
Day 24 September 24 Web Views, Project 4, part i; Very familiar because of FTV work
Day 25 October 1, 8, 14 ~ Web Views, Project 4, part ii; 🌐 WKNavigationActionPolicy and handling networking traffic in the view
Day 26 October 15 Web Views, Project 4, part iii; Wrap up quiz
Day 27 October 15, 17 ~ User Input, Project 5, part i; Much needed closure review
Day 28 October 20 User Input, Project 5, part ii; UITextChcker & rangeOfMisspelledWord(in:) ✨ is a whole toolbox
Day 29 October 22 User Input, Project 5, part iii; attention to case sensitivity
Day 30 October 29 Auto Layout, Project 6, part i; Drag and drop on Interface Builder, Auto Layout Visual Format Language (VFL)
Day 31 October 29, November 5 ~ Auto Layout, Project 6, part ii; VFL pushed further

6️⃣ Consolidation III

You’ve learned about WebKit, UIAlertController, Auto Layout, and more – some more fundamentals of iOS development. Before we continue on to more projects, let’s take a moment to review what you’ve learned.

Challenge day Calendar day Within goaltime? What was new?
Day 32 November 5, 12 ~ Review fundamentals and ShoppingList app challenge

7️⃣ Codable, buttons and GCD

The next three projects we’ll be building projects where you meet some of the most important topics in iOS development: working with data from the internet, and taking advantage of the raw power of iOS devices. Of course, you’ll also be making useful products along the way!

Challenge day Calendar day Within goaltime? What was new?
Day 33 November 19 Project 7, part i. Review of codable, and parsing which was what I first learned. Embedding tabs was new! :)
Day 34 November 25, 29, December 10 Project 7, part ii had major issue 💣 with SceneDelegate since examples were in Swift 4.2 rather than 5 – got help from FTV Guild
Day 35 December 10, 12, 13 👍 Project 7, part iii, challenges were easy to go over.
Day 36 January 1, 7 ~ Project 8, part i, first playable project without storyboard, NSLayoutConstraints activation on views added programatically, different anchors
Day 37 January 8 👍 Project 8, part ii, added button targets and game mechanics
Day 38 January 9, 10 ~ Project 8, part iii, challenge to add outline to view, negative score and errors messaging
Day 39 January 10 Project 9, part i, learned about the different types of threads and performSelector as alternative to DispatchQues
Day 40 January 12 👍 Project 9, part ii, review what's dispatchable in previous projects (1, 7, 8)

Acknowledgments

  • Big thanks to France Télévisions Mobile development guild for the inspiration to take up the challenge, and carving out the time to encourage me.

About

Documenting attempt to complete Hacking Swifts 100 Days challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%
0