gpt4 book ai didi

SwiftUI 列表和 OnAppear

转载 作者:行者123 更新时间:2023-12-03 17:12:30 28 4
gpt4 key购买 nike

我注意到 ListView 的 OnAppear 事件有一些奇怪的行为。我认为 OnAppear 闭包会在屏幕上出现 View 时运行,但它似乎在加载列表时立即运行。

例如下面的代码:

@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)
}
}

...我希望打印命令在加载时运行几次,然后在向下滚动时继续打印。相反,它一次打印 20 次,然后在我开始向下滚动时再次打印。

有什么想法吗?

最佳答案

我认为它的行为符合预期。

对我来说,它在模拟器上打印了 15 次 iPhone 7并且所有 20 次都在带有 iPhone 11 的模拟器上.

我对 print("BOOOOM \(index)") 做了一点改动

列表在后台遵守的性能和资源之间可能存在平衡。

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

关于SwiftUI 列表和 OnAppear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60048979/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com