Blog Archives

Any vs AnyObject vs NSObject in Swift 3

What is the difference between these three enigmatic types? A sometimes confusing topic, and to confuse things further Swift 3 has shaken it up by removing implicit bridging between Foundation and native data types. Aagh! Let’s look at the current

Tagged with: ,
Posted in Swift

Parsing XML in Swift 3

Parsing XML has always bothered me in Swift. The NSXMLParser class doesn’t actually parse the XML structure into Swift objects, rather it traverses the XML structure, pinging its delegate whenever it discovers something new, like an XML element or attribute,

Tagged with:
Posted in Swift

Sorting strings in Swift

Sorting an array of strings in Swift is a bit of an iceberg topic – it seems fairly manageable, you just call the sort function right? Then you dig a little deeper and find a whole lot more lurking under the surface! Let’s start

Tagged with:
Posted in Swift

My book: iOS Development with Swift – Early access Deal of the Day!

I’m pleased to announce that I am half way through writing a book on iOS development with Swift, to be published by Manning Publications. The great news if you have experience in programming is that this book skips over all the basics, and skips

Posted in Swift

Keyboards, text views and first responders

If you’re moving your app’s interface from under the keyboard when it appears, you’re probably doing the following: 1. Get a reference to the relevant text field in the UITextFieldDelegate‘s textFieldDidBeginEditing method. 2. Listen to a relevant keyboard notification (possibly

Tagged with: , , , ,
Posted in Swift

Any vs AnyObject vs NSObject

What is the difference between these three enigmatic types? A sometimes confusing topic, let’s get it straight. UPDATE: Things have changed in Swift 3! This post has been updated for Swift 3 here. You probably know Swift is a type-safe

Tagged with:
Posted in Swift

Parameter defaults and Optional Function Parameters in Swift 3.0

There are more changes in Swift 3.0 to Optional Function parameters, so I thought I should revisit this blog post. Functions no longer include the name of the first parameter in the function name, and the first parameter is no different

Tagged with: , ,
Posted in Swift

Sending push notifications using Parse Server

Finally – phew! I have migrated Grabble Words from Parse to using Parse server using herokuapp (a platform as a service (PaaS) which you can use to run applications in the cloud.) with the backend hosted by mongodb (database hosting service). Definitely was not

Tagged with: ,
Posted in Swift

Func parameters in Swift 3.0

Well, Apple’s done it again, and made func parameters even simpler in Swift 3.0! It’s all very straight forward now, class methods, static methods, global functions, init methods – they all work the same now, hooray! 1. Explicit parameter names

Tagged with:
Posted in Swift

Farewell c-style `for` statement

In Swift 3.0, the c-style for statement is deprecated. A bold step to remove a structure that most of us are familiar with to make the language more robust, and to continue the ongoing quest to banish the semi-colon from the

Tagged with:
Posted in Swift