NEW: Master Swift design patterns with my latest book! >>

What are the changes in Swift 1.2?

Written by Paul Hudson    @twostraws

Swift 1.2 was an interim release that fixed some early confusions and annoyances in the language. Its changes weren't big, but they did help clean up and clarify Swift, and helped tide us all over until the release of Swift 2.

The important changes are:

  • You can now check and unwrap multiple optionals using if/let rather than create a so-called "pyramid of doom" with nested statements.
  • Many Objective-C types that were being passed around now had correct nullability values set. This was done by modifying Objective-C then having many people scour through existing Apple code to add new annotations.
  • Downcasting (a typecast from a higher type in your class hierarchy to a lower type) is now done using as! and as? to mark forced downcasting and optional downcasting respectively.
  • Swift strings, arrays and dictionaries now no longer automatically typecast to NSString, NSArray and NSDictionary.
  • A new Set data type was introduced to handle arrays where each value can appear only once.
  • Constants can now be declared without a value, as long as they are provided with a value before they are used.
  • Incremental build support was added, which makes it more efficient to build larger Swift projects.

Available from iOS 7.0

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Build for watchOS

Take your existing Swift skills to Apple's tiniest platform – check out Hacking with watchOS!

Click here to visit the Hacking with Swift store >>