美文网首页iOSL的iOSiOS 界面布局
一天一点xib:3先学会解决文件冲突

一天一点xib:3先学会解决文件冲突

作者: 二亮子 | 来源:发表于2016-01-21 23:55 被阅读2778次

    引言

    之前文章列出的xib的缺点当中,我想在代码管理上,文件容易冲突是比较典型、且重要的问题,那么在详细学习xib之前,先来学习解决文件冲突的问题会让大家的学习更有积极性。

    注:xib与SB文件的冲突问题是一样的,解决方法也一样。

    为什么xib、SB文件会很容易冲突?

    因为xib文件十分容易造成修改,它不像源文件中的代码,必须真正修改才算,xib和SB文件,只要你点开,不经意的点击几个控件看看,就很容易造成了文件的修改,因为你很容易把控件挪动了1、2个像素,而你自己不知道,我们之前说过xib文件其实是以xml形式存储的,你挪动了1、2个像素这个文件也算修改过了。

    如何避免xib、SB文件造成冲突?

    1.最好在分工上就使得一个xib或SB文件单独由一个人负责开发、修改。

    xib做到这一点相对容易,因为它和源文件最多是一对一的关系(有时可以没有源文件而直接使用),

    SB一般与源文件是一对多的关系,如何把每个人负责的任务对应到自己的SB文件中?这个时候可能要用到storyboard reference,我们在一天一点xib:9结束语中会讲到这个问题。

    2.在修改xib、SB文件的时候加锁(这个是代码管理层次上的问题,其实必要性不大,操作也繁琐)

    3.提交代码的时候看清楚有没有提交xib、SB文件,弄清楚这个提交是自己要修改的,还是不小心就修改了。

    如果冲突已经产生了,如何解决冲突?

    一天一点xib:2初识xib提到过,xib、SB文件有两种查看方式,当文件冲突的时候普通的interface builder方式打开文件会失败。

    打开失败长这个样子打开失败长这个样子

    此时右键该xib或SB文件,选择source code方式打开文件,之后解决冲突的思路与解决project.pbxproj文件冲突的方式是一样的,文件中全局搜索<<<<或>>>>定位到错误位置,根据实际情况,删除一个版本的代码,保留另一个版本的代码,直到文件中所有冲突都解决掉。

    上图是我模拟storyboard中的冲突,冲突原因是两个人共同修改了一个label上的文字,解决方法就是根据实际需要保留一个版本的代码删除另一个版本的代码,和<<<<<、>>>>>>、======等东西就可以了。

    总结

    学会了解决文件冲突,我们就更加有信心、有动力地去学习xib了。

    欢迎大家和我交流沟通,若文章中有错误和纰漏,恳请指正,谢谢。

    相关文章

      网友评论

      • JsJavaCoder:谢谢 今天刚看git,带着xib和storyboard的冲突怎么去解决的问题找到了这里,感谢:smiley:
      • 丶丶夏天:图挂了
      • 郑明明:不错哟
      • 4fcf0567a598:貌似这种智能解决比较简单的,复杂的sb多层嵌套,灰常难搞,而且保存还有些意想不到的问题
      • JackYao: :disappointed_relieved: 这样解决冲突就会把某一个人想改的东西给抹掉了
      • GeekDmm:我们公司解决冲突使用的 xUnique 就没问题了
        超_iOS:@GeekDmm 很高端的样子,能给个使用教程吗
        GeekDmm:@大巴黎在广州 https://github.com/truebit/xUnique
        4fcf0567a598:@GeekDmm xUnique是什么鬼?

      本文标题:一天一点xib:3先学会解决文件冲突

      本文链接:https://www.haomeiwen.com/subject/hqolkttx.html