我是 Swift 和 SwiftUI 的初学者。我正在尝试将 ID 设置为 ScrollView 中的 View,这样我就可以使用 ScrollViewReader 滚动到顶部位置(第一项)。我遇到的困难是当我尝试获取数组的索引时,我收到错误Argument类型“XXX”应为类或类约束类型的实例。我该如何解决这个问题?谢谢
import SwiftUI
struct PokedexListView: View {
let pokemons: [Pokemon]
let hasMoreData: Bool
var fetchListener: () -> Void
var body: some View {
NavigationView {
ScrollViewReader { scrollView in
ScrollView {
LazyVStack {
ForEach (pokemons) { pokemon in
PokemonCellView(pokemon: pokemon)
.id(self.getID(pokemon: pokemon))
}
if hasMoreData {
LoadingFooterView()
.onAppear { fetchListener() }
}
}
}
.overlay(
ScrollTopBtnView(toTop: { scrollView.scrollTo(0) })
.padding(.trailing)
.padding(.bottom, 80),
alignment: .bottomTrailing
)
.navigationTitle("Pokedex") …Run Code Online (Sandbox Code Playgroud)