Swiftui 迅捷列表&;外观

Swiftui 迅捷列表&;外观,swiftui,swiftui-list,Swiftui,Swiftui List,我注意到列表视图的OnAppear事件上有一些奇怪的行为。我认为OnAppear闭包会在屏幕上显示视图时运行,但在加载列表时它似乎会同时运行 例如,以下代码: @State var rows: [String] = Array(repeating: "Item", count: 20) var body: some View { List(0..<rows.count, id: \.self) { index in Text(verbatim: self.row

我注意到列表视图的OnAppear事件上有一些奇怪的行为。我认为OnAppear闭包会在屏幕上显示视图时运行,但在加载列表时它似乎会同时运行

例如,以下代码:

@State var rows: [String] = Array(repeating: "Item", count: 20)

var body: some View {

    List(0..<rows.count, id: \.self) { index in
        Text(verbatim: self.rows[index])
            .onAppear {
                print("BOOOOM")
            }
            .frame(height:400)
    }
}
@State var rows:[String]=数组(重复:“项”,计数:20)
var body:一些观点{

列表(0..我认为它的行为符合预期

对我来说,它在装有
iphone7
的模拟器上打印了15次,在装有
iphone11
的模拟器上打印了20次

我对
print(“BOOOOM\(index)”)做了一点小小的修改。

列表在后台遵循的性能和资源之间可能存在一种平衡

如果滚动太快,加载太少,用户将“卡住”,而不是加载太多并减慢滚动动画