使用情节提要时iOS目标c中的合并冲突是啥

Posted

技术标签:

【中文标题】使用情节提要时iOS目标c中的合并冲突是啥【英文标题】:What is merge conflict in iOS objective c when using storyboard使用情节提要时iOS目标c中的合并冲突是什么 【发布时间】:2016-06-22 02:01:03 【问题描述】:

这听起来像是重复的问题。在我搜索的所有地方,他们都说当多人使用故事板时会发生合并冲突。但是没有人解释它为什么、如何以及何时会准确发生。

我的问题是:什么是合并冲突?

第二个问题是:为什么会发生,什么时候会发生,为什么我们以编程方式使用时不会发生?

每个人都将在不同的 ViewController 上工作,那么这种冲突是如何发生的。

【问题讨论】:

请尽量将每个帖子限制为 1 个问题,否则很难选择“正确”的答案。 我觉得第一个和第二个Q可以放在一起。但最后一个主题完全不同。 感谢您的建议...我已经编辑了问题... Storyboard 是真实的单个 XML 文件。无论您在单个 XML 中创建多少视图控制器。您可以右键单击故事板并从项目导航器中查看源代码。如果两个人在同一个文件上工作,肯定会导致冲突。所以要解决这个用户多个故事板。 【参考方案1】:

假设文件中有一小段文本。假设有一个文本“labeltext”,一位开发人员将其更改为“label”,而您将其更改为“text”。源代码控制系统无法知道哪个更改是“有效的”更改。它报告合并冲突,因此您和其他开发人员可以决定采用哪个版本。

这也可能发生在代码中。但是作为开发人员,您擅长阅读源代码,而可能不擅长阅读包含情节提要的 XIB。当您知道您的同事在软件的哪个部分工作时,在许多情况下很容易决定使用哪个版本。如果它是在 XIB 中完成的,那么您通常不可能知道,即使发生了什么变化。你发现自己的版本控制系统是:“Gmpf,什么是正确的版本?”

除此之外,故事板通常是应用程序全局的。你不能对你的同事说:“不要碰这个文件,我今天会处理它。”

【讨论】:

以上是关于使用情节提要时iOS目标c中的合并冲突是啥的主要内容,如果未能解决你的问题,请参考以下文章

一起使用笔尖和情节提要:将笔尖的按钮目标/动作连接到情节提要中的控制器

使用 url iOS 目标 c 附加数组

将情节提要的目标设置为 DataTemplate WPF 中的按钮

IOS 7.1,如果目标设备系列设置为 iPad,通用情节提要上的常规宽度限制将被忽略

目标 c:iOS 13+ 以编程方式设置初始根视图控制器

使用情节提要时我们会经常发生冲突吗?