我正在尝试从一组Request
对象创建一个列表。
我定义了一个自定义视图RequestRow
来显示Request
.
以下工作显示请求列表......
struct RequestsView : View {
let requests: [Request]
var body: some View {
List {
ForEach(0..<requests.count) { i in
RequestRow(request: self.requests[i])
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但以下不会编译...
struct RequestsView : View {
let requests: [Request]
var body: some View {
List {
ForEach(requests) { request in
RequestRow(request: request)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Cannot convert value of type '(Request) -> RequestRow' to expected argument type '(_) -> _'
关于问题可能是什么的任何想法?
Ash*_*lls 14
好的,我很快就找到了答案。根据 Apple 的文档,数组元素必须是Identifiable
,所以这有效......
var body: some View {
List {
ForEach(requests.identified(by: \.self)) { request in
RequestRow(request: request)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我相信我不会是最后一个遇到这个问题的人,所以我会把它留在这里以供将来参考。
归档时间: |
|
查看次数: |
6920 次 |
最近记录: |