我一直在关注youtube上关于使用LazyVStacks的教程。https://www.youtube.com/watch?v=o6D7mUXjSmI
当我运行与教程相同的代码时,使用Xcode版本13.2.1 (13C100)的LazyVStack在iPhone 11 Pro Max (运行iOS 15.2)上打印出83条语句,此时只有42行。按照本教程的要求,它只应将42条语句打印到控制台。
这是Xcode/iOS错误吗?我无法下载最新的Xcode,因为我的Mac不支持macOS 12.0来验证。
视频教程在iPhone 11 Pro Max:上的控制台上显示42条打印语句

我的代码在iPhone 11 Pro Max上显示控制台中的83条打印语句

import SwiftUI
struct SampleRow: View {
let id: Int
var body: some View {
Text("Row \(id)")
}
init(id: Int) {
print("Loading row \(id)")
self.id = id
}
}
struct ContentView: View {
var body: some View {
ScrollView {
LazyVStack {
ForEach(1...1000, id: \.self, content: SampleRow.init)
}
}
}
}发布于 2022-04-11 04:12:14
它在Xcode 13中运行得很好。我不知道你为什么需要一个LazyVStack,除非你使用某种网格。我对代码做了一些修改,因为这里没有太多的用处。已经全部打印1000了。


import SwiftUI
struct SampleRow: View {
let id: Int
var body: some View {
Text("Row \(id)")
}
init(id: Int) {
print("Loading row \(id)")
self.id = id
}
}
struct ContentView: View {
var body: some View {
ScrollView {
ForEach(1...1000, id: \.self) { index in
SampleRow(id: index)
}
}
}
}https://stackoverflow.com/questions/71809081
复制相似问题