【发布时间】:2021-07-19 20:25:46
【问题描述】:
我在使用 macOS Montery 3 和 Xcode 13 Beta 3 时遇到了这个奇怪的问题,我在 List 和动画中遇到了这个错误:
[General] Row index 0 out of row range (numberOfRows: 0) for <SwiftUIListCoreOutlineView: 0x133885000>
这有点难以解释,但这里有一个简单的复制:
最小可重现示例
- 创建一个新的 SwiftUI macOS 应用程序
- 粘贴此代码:
struct ContentView: View {
@State var items = ["Item"]
@ViewBuilder var mainView: some View {
if items.isEmpty {
Text("Im empty")
}
else {
List(items, id: \.self) {s in
Text(s)
}
}
}
var body: some View {
NavigationView {
mainView
.toolbar {
Button(action: {
withAnimation {
items.removeAll()
}
}) {
Image(systemName: "minus")
}
}
Text("Second")
}
}
}
- 运行应用程序,然后尝试调整侧边栏的大小。 (您应该能够)
- 然后按工具栏上的减号按钮。这只是删除了所有项目。
- 然后,侧边栏的大小调整应该被打破。您可能还会在控制台中遇到一堆错误。
是否有人能够重现此问题,这是 SwiftUI 中的错误吗?
【问题讨论】: