- Reactive Programming with Swift 4
- Navdeep Singh
- 206字
- 2021-06-24 18:58:00
Smart key paths
Another important change introduced by Swift 4 is that of smarter key paths. Swift key paths are strongly typed and enforce a compile time check and remove a common runtime error.
You write a key path by starting with a backslash: `\Book.title`. Every type automatically gets a `[keyPath: …]` subscript to get or set the value at the specified key path:
struct Book {
var title = ""
let price : Float
}
let titleKeyPath = \Book.name
let mathsBook = Book(name: "Algebra", price: 10.50)
mathsBook[keyPath: titleKeyPath]
The value in the earlier mentioned keyPath is "Algebra".
The titleKeyPath object defines a citation to the name property. Then, it can be used as a subscript on that object. You can store and manipulate key paths. For example, you can append additional segments to a key path to drill down further. Key paths are composed of a root, and then you can drill down by following a combination of properties and subscripts.
If you change the variable of mathsBook from let to var, a specific property can also be modified through the keyPath subscript syntax:
mathsBook[keyPath: titleKeyPath] = "Trigonometry"
let newTitle = mathsBook[keyPath: titleKeyPath]
The value in the mentioned keyPath is "Trigonometry".
- Qt 5 and OpenCV 4 Computer Vision Projects
- Scala Design Patterns
- Web開發的貴族:ASP.NET 3.5+SQL Server 2008
- Mastering Unity Shaders and Effects
- SQL Server數據庫管理與開發兵書
- Lighttpd源碼分析
- Practical Game Design with Unity and Playmaker
- Visual C#.NET Web應用程序設計
- Clojure for Java Developers
- Java EE項目應用開發
- DevOps 精要:業務視角
- Swift 2 Design Patterns
- LabVIEW數據采集(第2版)
- Java Web應用開發
- R語言與網站分析