与故事板文件中的inferredMetricsTieBreakers发生合并冲突

每当我在故事板文件中发生冲突时,通常我都可以解决它。 不过,我现在有一个问题,现在已经两个星期了。

在Storyboard文件的最底部,我看到名为“inferredMetricsTieBreakers”的块,其中包含一堆“segue”标签。 似乎我在本地回购股票的某些股票与远程回购股票中的另一股股票相冲突。 为了安全起见,我可以“同时select”。 但是,既然这发生过一次,恐怕它会一直发生,并最终在我的故事板文件的末尾有一长串这些segue引用。

只是想知道是否有人对文件中的这些标签有深入的了解,或者我是否应该盲目地继续“select两者”而忽视这个问题。

谢谢,丹。

同样的事情发生在这里。 在使用“select两个”方法后,在故事板文件中出现错误。 发现在故事板中searchsegue引用导致了一个在inferredMetricsTieBreakers部分中提到的segue。 从列表中删除segue解决了我的破坏构build。

试图找出这个inferredMetricsTieBreakers做什么,我试图先删除整个部分。 打破我的构build。 接下来,我删除了所有的项目。 在构build期间,XCode添加了2个新的和不同的segues到我的列表中(在合并之前我有3个)。 我正在build设的应用程序工作正常。

我的结论是:删除所有项目并执行清理构build是安全的。 这将保持你的故事板清洁。

故事板中的每个视图控制器都有“模拟指标”,您可以在属性检查器中看到:

在这里输入图像说明

这些指标中的一部分是推断的(因此,推断的指标)。

正如@thesystem所提到的,如果一个给定的视图控制器是多个赛段的目的地,那么这些赛段的源视图控制器的模拟度量之间可能存在差异。 为了解决这些差异,当parsing目的地视图控制器的推断的度量时,IBselect一个segue来打破平局。

@ rick-pastoor的结论是,删除整个inferredMetricsTieBreakers的MetricsTieBreakers部分是安全的,因为IB可以select不同的打破僵局。 但是,不能保证新的平局将导致IB的布局结果相同。

例如,我有一种情况,在IB中显示一个视图控制器,具有或不具有状态栏,取决于打破僵局。 在这两种情况下,它的观点都保持在568点的高度,使顶部布局指南的位置不断变化。 这被限制在顶部布局指南中的视图框架变成了其他不希望的(并且在很大程度上没有意义的)变化。

基于这些观察结果,select推断的新的和旧的指标是不可取的。 相反,删除两个集合,然后在IB中打开故事板,以允许在提交合并之前断开关系。 为了避免由于改变tie-breaking segue而导致不希望的帧改变,请为目标视图控制器的相关模拟度量select“推测”以外的值。 这将确保IB生成一致的布局结果。

*运行时的结果应该是相同的,除非在视图未被存档之后立即依赖于初始布局的任何逻辑。

它看起来像是在故事板中发生的事情,一个视图控制器通过Seglog从两个或多个其他视图控制器连接,其模拟度量设置被设置为“推断”,但Xcode无法确保推断意味着恰好一个度量设置风景或肖像)。

我通过将所有的控制器模拟度量标准更改为“推断”来解决这个问题,并且所有度量标准都是从具有固定模拟度量标准设置“风景”的控制器中推断出 之后,我从部分(但不是部分本身)中删除了联络断路器segue id。

将度量从推断更改为自由格式(Xcode8,Swift3)。 解决了我的问题。