首页 > 解决方案 > swift中的\是什么意思?

问题描述

我是新来的。

我很确定我理解 \ 在代码中的作用,例如:

@Environment(\.managedObjectContext)
ForEach(example, id: \.id) {
//etc.
}

但是 \ 实际上是什么意思?有什么方法可以有意义地记住它吗?

标签: swiftswiftui

解决方案


它是快速的 KeyPath

struct Guitar {
    let model: String
    let year: Int
}
let gibson = Guitar(model: "Gibson", year: 1990)
let path = \Guitar.model /// KeyPath<Guitar, String>

print(gibson[keyPath: path])
// prints “Gibson”

以示例为例,您可以在https://medium.com/@jllnmercier/swift-keypaths-db326852d66a中阅读更多详细信息

并搜索关键字“swift keypath”

为您的快照

ForEach(example, id: \.id) {
//etc.
}

这意味着ForEach它将example.Element.id用作每个迭代行的标识符。


推荐阅读