Brace yourself, because today we’re covering the first thing in Swift that many people have hard time understanding. Please keep in mind Flip Wilson's law: “you can't expect to hit the jackpot if you don't put a few nickels in the machine.”
Initially you’ll think that closures are simply anonymous functions – functions we can create and assign directly to a variable, then pass that variable around as if it were a string or an integer.
However, closures complicate things in two ways:
To make things easier to understand we start with fairly simple closures that might almost seem pointless, but as we progress on day two (yes, there’s a second day of closures!) you’ll start to see more advanced scenarios that build on what you learn today.
In case you were wondering: SwiftUI uses closures a lot, so this is something you should try to understand.
Today you have only five one-minute videos to watch, just to make sure you have time to watch videos twice if you need to. Once you’ve completed each video you can read the optional extra section, and there’s a short test to help make sure you’ve understood what was taught.
Sometimes people ask me “why do you start some topics by saying they are hard – aren’t you just putting people off?”
Obviously my goal is not to put you off Swift. Instead, my hope is that when you struggle with something you don’t ever think to yourself “I’m not cut out for Swift.” If you find closures hard it’s not because you aren’t smart enough – they are hard, so it’s just a sign your brain is working properly.
Don’t despair. Sometimes fighting to learn something makes it stick in your head better – there is no learning without struggle!
You can do this.
Hit Send below to start a virtual conversation with me.
Need help? Tweet me @twostraws!
SPONSORED ViRE offers discoverable way of working with regex. It provides really readable regex experience, code complete & cheat sheet, unit tests, powerful replace system, step-by-step search & replace, regex visual scheme, regex history & playground. ViRE is available on Mac & iPad.
Link copied to your pasteboard.