引言
之前文章列出的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了。
欢迎大家和我交流沟通,若文章中有错误和纰漏,恳请指正,谢谢。