- Mastering Swift
- Jon Hoffman
- 268字
- 2021-07-16 14:12:15
Foundation data types
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 = rect.maxY //rectMaxY contains 30 (value of y + value of height) var validRect = rect.isEmpty //validRect contains false because rect is valid.
In the preceding code, we initialize a CGRect
type. We then change the property of x
from 10
to 20
, retrieve the value of the maxY
property, and check the isEmpty
property to see whether we have a valid CGRect
type.
We just barely scratched the surface of the interoperability between Swift and Objective-C. We will discuss this interoperability in depth in Chapter 11, Using Mix and Match later in this book.
- Kali Linux Web Penetration Testing Cookbook
- 三維圖形化C++趣味編程
- Web Application Development with R Using Shiny(Second Edition)
- Python Network Programming Cookbook(Second Edition)
- AutoCAD VBA參數化繪圖程序開發與實戰編碼
- EPLAN實戰設計
- 零基礎輕松學SQL Server 2016
- PHP+MySQL+Dreamweaver動態網站開發從入門到精通(第3版)
- 區塊鏈技術與應用
- Raspberry Pi Robotic Blueprints
- 一步一步跟我學Scratch3.0案例
- Vue.js光速入門及企業項目開發實戰
- PHP 8從入門到精通(視頻教學版)
- AutoCAD基礎教程
- MySQL數據庫教程(視頻指導版)