When using foundation data types, Swift provides an overlay that makes interacting with them feel like they are native Swift types. We use this overlay to interact with foundation types, such as CGSize and CGRect for iOS applications (NSSize and NSRect for OS X applications). When developing iOS or OS X applications, we will interact with foundation types on a regular basis, so it is good to see this overlay in action.
Let's look at how to initialize some foundation data types. The following example defines NSRange
, CGRect
, and NSSize
:
var range = NSRange(location: 3, length: 5) var rect = CGRect(x: 10, y: 10, width: 20, height: 20) var size = NSSize(width: 20, height: 40)
The overlay also lets us access the properties and functions in a way that feels like native Swift types. The following example shows us how to access the properties and functions:
var rect = CGRect(x: 10, y: 10, width: 20, height: 20) rect.origin.x = 20 //Changes the X value from 10 to 20 var rectMaxY...