“\.self”在 Swift/SwiftUI 中实际上做了什么?

Sup*_*oob 6 swiftui swiftui-foreach

我不完全理解\.self以下代码的具体作用:

struct ContentView: View {
    @State private var numbers = [Int]()
    @State private var currentNumber = 1

    var body: some View {
        VStack {
            List {
                ForEach(numbers, id: \.self) {
                    Text("\($0)")
                }
            }

            Button("Add Number") {
                self.numbers.append(self.currentNumber)
                self.currentNumber += 1
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在关注:https://www.hackingwithswift.com/books/ios-swiftui/deleting-items-using-ondelete

我现在对这门语言有一个非常基本的了解,所以我可能无法理解高级解释,所以更喜欢非常简单的解释或带有详细描述的类比。id我认为它将每个项目设置list为数字数组中的每个项目?如果错误请纠正我 - 但是每个都id被设置为Int数字数组的每个条目中的内容吗?如果是这样,那么\打字时实际会做什么\.self以及.self与 结合实际会做什么\

Hal*_*ara 5

。关键路径。ForEach 需要每个对象都是唯一的。为他们提供唯一的 id,id:.self。如果你的对象是可识别的,你就不需要 .self。 我在medim上写过这个,如果你想的话可以看看