- Published on
key path in SwiftUI
- Authors
- Name
- sakuragi
在SwiftUI中,经常看到一些反斜杠的一些用法
例如
@Environment(\.library) private var library
KeyPath
其中的反斜杠代表的是keypath,中文可以翻译成键路径,用于引用对象的属性而不是值本身。它们在很多方面类似于属性名的字符串,但是类型安全的,并且在编译时进行检查。
使用反斜杠:
在键路径表达式中,反斜杠 \ 用于指示接下来的部分是属性的名称。它标志着键路径的开始。例如,如果你有一个名为 person
的对象,且想引用它的 name
属性的键路径,你会写作 \Person.name
。
在Swfit UI中
在SwiftUI中, @Environment
属性包装器允许你从环境中访问共享数据。例如,SwiftUI环境中包含了一些预定义的值,比如 \.managedObjectContext
用于CoreData。
定制的环境值:
@Environment(\.library) private var library
library 表示访问环境中的一个特定值,这个值被标识为library
这里的 \ 就是指明你正在引用一个环境中的键路径。这意味着在某处(通常在你的视图层次结构的更高级别)你必须已经将某些值放入环境中,并且这个值与 library 这个键相关联。