Safe
Swift pairs increased type safety with type inference, restricts direct access to pointers, and automatically manages memory—making it easy to create secure, stable software.
-
func configureLabels(labels: UILabel[]) {
-
let labelTextColor = UIColor.greenColor()
-
for label in labels {
-
// label inferred to be UILabel
-
label.textColor = labelTextColor
-
}
-
}

Modern
Swift includes optionals, generics, tuples, and other modern language features. Inspired by and improving upon Objective-C, Swift code feels natural to read and write.
-
let cities = ["London", "San Francisco", "Tokyo", "Barcelona", "Sydney"]
-
let sortedCities = sort(cities) { $0 < $1 }
-
if let indexOfLondon = find(sortedCities, "London") {
-
println("London is city number (indexOfLondon + 1) in the list")
-
}

Powerful
Take advantage of powerful pattern matching in Swift to write simple, expressive code. Format strings naturally with string interpolation. Use frameworks like Foundation and UIKit directly from Swift.
-
let size = (20, 40)
-
switch size {
-
case let (width, height) where width == height:
-
println("square with sides (width)")
-
case (1..10, 1..10):
-
println("small rectangle")
-
case let (width, height):
-
println("rectangle with width (width) and height (height)")
-
}

Interactive
Use playgrounds to experiment with new technologies, analyze problems, and prototype user interfaces.


Fast
The Swift compiler applies advanced code analysis to tune your code for performance, letting you focus on writing great apps instead of on implementing complex optimizations.