我在Picker中使用了ForEach(),但是调试给出了错误。
Xcode版本11.2(11B52)
var radiusRangeKM = Array((stride(from: 50, to: 2010, by: 10)))
var body: some View {
NavigationView {
//TODO: Form Set Up
Form {
Section() {
Picker(selection: $selectedRadius, label: Text("Radius(KM)")) {
ForEach(0 ..< radiusRangeKM.count, id: \.self) {
Text(String(self.radiusRangeKM[$0])).tag($0)
}
}
}
}
.navigationBarTitle(Text("Settings"))
}
}
调试窗口错误
[TableView]仅警告一次:通知UITableView布置其可见单元格和其他内容,而不必放在视图层次结构中(表视图或其父视图之一尚未添加到窗口)。这可能会通过迫使表格视图中的视图加载和执行没有准确信息(例如表格视图范围,特征收集,布局边距,安全区域插图等)的布局而导致错误,并且还会由于多余的布局传递而导致不必要的性能开销。在UITableViewAlertForLayoutOutsideViewHierarchy上创建一个符号断点,以在调试器中捕获该断点,并查看引起此情况的原因,因此,如果可能,您可以完全避免执行此操作,或者将其推迟到将表视图添加到窗口中。表格视图:<_TtC7SwiftUIP33_BFB370BA5F1BADDC9D83021565761A4925UpdateCoalescingTableView:0x7f9d5e98b000; baseClass = UITableView;框架=(0 0; 414842); clipsToBounds = YES;自动调整大小= W + H; poseRecognizers =;层=; contentOffset:{0,-108}; contentSize:{414,8702.0000000000109}; AdjustedContentInset:{108,0,34,0}; dataSource:<_TtGC7SwiftUIP13 $ 7fff2c6b223419ListCoreCoordinatorGVS_20SystemListDataSourceOs5Never_GOS_19SelectionManagerBoxS2 ___:0x7f9d5cf80c50 >>
将您的iOS系统更新至13.3,它将在真正的iPhone上正常运行,但警告仍然存在。