“\.self”在 swift/swiftUI 中实际上做了什么?
What does "\.self" actually do in swift/swiftUI?
我不完全理解 \.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("\([=11=])")
}
}
Button("Add Number") {
self.numbers.append(self.currentNumber)
self.currentNumber += 1
}
}
}
}
我正在关注这个:https://www.hackingwithswift.com/books/ios-swiftui/deleting-items-using-ondelete。
我现在对这门语言有一个非常基本的了解,所以我可能无法理解高级解释,所以我更喜欢非常简单的解释或带有冗长描述的类比。我认为这是将每个 list
项目的 id
设置为数字数组中的每个项目?如果错了,请纠正我 - 但是每个 id
是否都设置为数字数组的每个条目中的任何 Int
?如果是这样,那么 \
在键入 \.self
时实际上做了什么以及 .self
与 \
结合实际上做了什么?
。关键路径。 ForEach 需要每个对象都是唯一的。用 id:.self 给他们唯一的 ID。如果您的对象是可识别的,您就不需要 .self。
i wrote about this in medim if you want you can check out
我不完全理解 \.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("\([=11=])")
}
}
Button("Add Number") {
self.numbers.append(self.currentNumber)
self.currentNumber += 1
}
}
}
}
我正在关注这个:https://www.hackingwithswift.com/books/ios-swiftui/deleting-items-using-ondelete。
我现在对这门语言有一个非常基本的了解,所以我可能无法理解高级解释,所以我更喜欢非常简单的解释或带有冗长描述的类比。我认为这是将每个 list
项目的 id
设置为数字数组中的每个项目?如果错了,请纠正我 - 但是每个 id
是否都设置为数字数组的每个条目中的任何 Int
?如果是这样,那么 \
在键入 \.self
时实际上做了什么以及 .self
与 \
结合实际上做了什么?
。关键路径。 ForEach 需要每个对象都是唯一的。用 id:.self 给他们唯一的 ID。如果您的对象是可识别的,您就不需要 .self。 i wrote about this in medim if you want you can check out