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
-
}
-
}
![image: ../Art/modern_2x.png](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/modern_2x.png)
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")
-
}
![image: ../Art/powerful_2x.png](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/powerful_2x.png)
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)")
-
}
![image: ../Art/interactive_2x.png](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/interactive_2x.png)
Interactive
Use playgrounds to experiment with new technologies, analyze problems, and prototype user interfaces.
![image: ../Art/largeshot.pdf](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/largeshot_2x.png)
![image: ../Art/fast_2x.png](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/fast_2x.png)
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.