自beta 5
的{{1}}发布以来,我不得不更新代码。你知道该怎么做。但是,这种怪异的运行时错误仍在更改中幸免,我无法弄清为什么会发生。
我开始尝试将其纳入原始代码中,但令人惊讶的是,它也发生在我设法提出的最简单的测试项目中:带有表的TabView。
在运行时更改为另一个选项卡时,使Xs模拟器因SIGABRT而崩溃的过程:
“ xxxxxxx [23089:4642999]前提条件失败:导入的节点已删除 读取其值之前:90“
如果用户连续单击进入detailview,它不会崩溃;只需运行该应用程序,然后按第二个选项卡即可。
我修改了视图的构建,对象……什么也没有。将行视图更改为简单的文本时,它甚至崩溃。我还删除了@Binding等,以排除Combine。
请让我知道你们中是否有人看到东西。它只会在Beta 5中崩溃,而不会在Beta 2中崩溃。
Xcode 11
答案 0 :(得分:3)
我在Xcode 11.0(11A420a)上仍然存在此问题。仅当在动态列表中使用NavigationLink时,才会发生崩溃。对我来说,唯一的解决方法是在List内使用ForEach,如下所示:
SQL> with fpm_cb_bill_Details (bill_id, bill_status_cd) as
2 (select 100, 'status A' from dual union all
3 select 101, 'status B' from dual union all
4 select 102, 'statuc C' from dual union all
5 select 103, 'status D' from dual
6 )
7 select a.bill_id curr_bill_id,
8 a.bill_status_cd curr_status,
9 b.bill_id prev_bill_id,
10 b.bill_status_cd prev_status
11 from fpm_cb_bill_details a join fpm_cb_bill_details b on b.bill_id = a.bill_id - 1
12 where a.bill_id = (select max(bill_id) from fpm_cb_bill_details);
CURR_BILL_ID CURR_STA PREV_BILL_ID PREV_STA
------------ -------- ------------ --------
103 status D 102 statuc C
SQL>
答案 1 :(得分:2)
Xcode Beta 5在质量方面确实倒退了一步。我的项目完全坏了。首先,Shape崩溃以及Tab和List视图的已知问题。
我有以下不再起作用的代码。选择“秒”标签时会崩溃:
struct WorkoutList: View {
var workoutCollection: WorkoutCollection
var body: some View {
NavigationView {
List(workoutCollection.workouts) { workout in
NavigationLink(destination: WorkoutDetail(workout: workout)) {
WorkoutRow(workout: workout)
}.accessibility(identifier: "workout")
}.accessibility(identifier: "workoutList").navigationBarTitle(Text("workouts.title"))
}
}
}
将动态列表替换为静态列表时,它不会出现任何问题:
struct WorkoutList: View {
var workoutCollection: WorkoutCollection
var body: some View {
NavigationView {
List() {
NavigationLink(destination: WorkoutDetail(workout: workoutCollection.workout[0])) {
WorkoutRow(workout: workoutCollection.workout[0])
}.accessibility(identifier: "workout")
}.accessibility(identifier: "workoutList").navigationBarTitle(Text("workouts.title"))
}
}
}
我认为我们必须等待Beta 6。
答案 2 :(得分:2)
使用Xcode Beta 6(昨天发布),我的TabView再次正常工作。不再有SIGABRT错误。所以,该升级了!
答案 3 :(得分:0)
我有一个TabView,每个标签内都有一个列表,我的应用程序现在完全坏了。取消引用List组件似乎有麻烦。我们将不得不等待,但是我希望能够很快发布此修补程序。
答案 4 :(得分:0)
这里的情况类似。但是,我没有使用列表,而是使用Form,并且当我从该选项卡点击到任何其他选项卡时,似乎会导致此错误,反之亦然。奇怪的东西。
答案 5 :(得分:0)
我在Xcode 11 GM上仍然有此问题... 我有三个选项卡,里面都有列表,每当在滚动当前视图时更改选项卡,都会发生SIGBART崩溃。