Xcode 11.5 Post-Update Error: Unable to activate constraint with anchors

Xcode 11.5 Post-Update Error: Unable to activate constraint with anchors

我刚更新到 Xcode 11.5,突然我的应用程序抛出了这个错误(如下所列)。

我的应用程序以 TabBar 为基础,并为五个 TabBar 项目中的每一个提供不同的视图。所有视图都工作正常,除了第 3 个视图,在单击该图标时,我收到以下错误消息。

此视图有一个 segControl 可以更改 tableView 中的数据。我添加了下拉刷新和搜索功能。还有一个 UILabel 在无法拉取数据/没有互联网情况下出现,否则会隐藏。

错误

Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x60000064b4c0 "UILabel:0x7fb6dd8b8b80'Day 1'.centerY"> and <NSLayoutYAxisAnchor:0x600000649780 "UIView:0x7fb6dd4b89d0.centerY"> because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies?  That's illegal.'

现在,我根本没有更改这段代码,在更新发生之前它工作得很好。所以我很困惑如何解决它。

我看到可能有一些标签和视图与其约束层次结构冲突,但我似乎无法弄清楚哪些冲突以及如何解决它们。

此外,我的代码中没有任何引用 'Day 1' 的内容,而且我没有以编程方式添加任何子视图。

到目前为止已完成故障排除

  1. 放弃所有代码更改 - 仍然是同样的问题
  2. 通过时间机器将代码回滚到以前的工作时间 - 仍然是同样的问题
  3. 回滚 Xcode 到 11。4.x - 仍然是同样的问题
  4. 调试了我的代码,一步一步 - 一切正常
  5. 已删除任何标签或其他视图 - 仍然会引发错误
  6. 将约束重置为自动约束 - 仍然是同样的问题

当前约束 [丢弃所有代码后,工作更早]

 label.top = top - 9 
 bottom = label.bottom + 1 
 label.leading = leading + 8 
 label.centerX = centerX

这些是唯一的限制,因为我在 tableView 下面添加了一个视图,并且该视图包含标签。

[这些是自动约束]

感谢任何帮助。提前致谢。

设法找出错误 - 似乎更新翻转了我正在使用的自定义 class,这又错过了对依赖项的引用。

在正确恢复自定义 class(在情节提要 - tableViewCell 中)后,它起作用了。

答案 here 启发了我尝试这个解决方案。