Что значит \ в быстром? - PullRequest
       30

Что значит \ в быстром?

0 голосов
/ 06 августа 2020

Я новичок в Swift.

Я почти уверен, что понимаю, что \ делает в коде вроде:

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

Но что на самом деле означает \? Есть ли способ запомнить это в своей голове осмысленным образом?

1 Ответ

2 голосов
/ 06 августа 2020

Это быстрый 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 в качестве идентификатора для каждой повторяющейся строки.

...