Blog Archives

Optionals in Swift explained – with a cat in a box!

If you’ve come to Swift from a language that doesn’t use optionals, you might find the concept a little strange and the syntax unfamiliar at first. Sometimes it helps to learn the unfamiliar with something familiar – in my lightning tour

Tagged with:
Posted in Swift

Get a continent from longitude-latitude

For a project I’m working on I needed to know if a point (latitude,longitude) was in a continent, and if so, which one! To do this, first I set up a Continent enum to work with, making it a String

Tagged with: ,
Posted in Swift

Getting the keyboard height

Some time ago I answered a question in StackOverflow comparing the keyboard height on the iPhone X and the iPhone 8: I got these heights by: 1. Adding an observer of the UIResponder.keyboardWillShowNotification notification: (In fact, if we want all keyboard frame

Tagged with:
Posted in Swift

Lightning tour of closures in Swift

Check out this video tutorial with a lightning tour of closures in Swift. It covers: Functions as data types Basic closure syntax Trailing closures   If you’re interested in more of these sorts of videos, I’ll be posting frequently over on

Tagged with: ,
Posted in Swift

Overloading functions with default parameter values

Here’s a Swifty conundrum for you! First a quick recap. Here’s a simple function with no parameters. Call it and “Hello World” will print to the console. Here’s another function with the same name. This time it has a parameter

Tagged with: , ,
Posted in Swift

Lightning tour of functions in Swift

Check out this video tutorial with a lightning tour of functions in Swift. It covers: Parameter default values Optional function parameters Overloading a function If you’re interested in more of these sorts of videos, I’ll be posting frequently over on the

Tagged with: , , , ,
Posted in Swift

iOS Video Course is live!

After many months of work, my video course iOS Development with Swift in Motion has recently launched over at Manning Publications. If you’re interested in taking on iOS Development, but aren’t sure if you’re ready to take the plunge, I’d

Tagged with: ,
Posted in Swift

flatMap vs compactMap

In Swift 4.1, the flatMap function was divided into two functions. One kept the same name: flatMap This method flattens a sequence. Let’s say we have a two-dimensional array: We can use the flatMap higher order function to ‘flatten’ this

Tagged with: , ,
Posted in Swift

Xcode 10 keyboard shortcuts cheat sheet

Getting adjusted to keyboard shortcuts takes some work, but they can boost your productivity significantly. I’ve put together a cheat sheet for a number of frequently used keyboard shortcuts in Xcode 10. I recommend you print it out, stick it

Tagged with: ,
Posted in Swift

The Mysterious Case of the Status Bar

All I wanted was two things for my status bar: I wanted it to have white text by default as it was going to be on a dark background I wanted to be able to hide it temporarily every now

Tagged with:
Posted in Swift