3.2 通过GitHub下载项目样例代码
完成上面挑战的第一步就是要在GitHub网站下载初始项目文件,很多程序员都会将自己的项目代码放在GitHub上面进行维护,或分享给其他程序员,如图3-9所示。git是一个免费的开源项目,它的创始人就是著名的Linux系统创始人Linus Torvalds。git有很多对于开发者有用的特性,其中最重要的一个就是版本控制(Version Control)。
图3-9 GitHub网站主页面
想象一下,有两位程序员阿刚和雪峰在共同维护一段代码,他们两位应该如何高效地工作呢?
方案一:阿刚先维护这段代码,做完以后再给雪峰继续维护。大家都知道这是效率最低的工作方式,因为同一时间只有一个人在工作。面对这样的工作效率,老板是绝对不会答应的!
方案二:阿刚和雪峰各自复制一份代码独自去维护。但问题在于很难将两份代码合并到一起。
方案三:利用版本控制,将主拷贝存储到核心服务器中,不管是阿刚还是雪峰都可以获取项目代码的主拷贝到本地,各自修改好以后再更新到核心服务器中。例如:阿刚先从服务器获取主代码,在完成修改以后将其合并到主代码库,此时的代码库变成了2.0版本。接着雪峰从服务器获取主代码的时候,得到的就是最新的2.0版本,他可以继续维护代码的其他部分。另外,如果两人在同一时间维护同一段代码应该怎么办呢?阿刚的操作与之前一样,服务器代码将更新为2.0版本。而此时雪峰还是在1.0版本的基础上维护代码,在维护完毕并上传合并的时候,git会检查是否与当前服务器上面的代码有冲突,如果没有则将雪峰的新代码合并到主版本库,此时代码库变成了3.0版本。如果有冲突,git会列出引起冲突的代码行,由雪峰通过手工的方式在2.0版本的基础上修改相关代码。
git不仅可以对程序代码做版本控制,也可以对PDF、Word、Excel、PPT等文件进行这样的操作。它的好处在于git可以保存每次提交时的状态,这样文档就可以随时回滚到之前所提交的某一个状态。
本书会通过GitHub来维护所有代码,GitHub是一个面向开源及私有软件项目的云端托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。
本书会涉及很多实战项目,如果每个练习都从头开始,会浪费很多不必要的时间,我们希望大家更多去关注那些重要并且有趣的内容,因此在GitHub中会存储初始项目代码和最终代码,另外还会存储项目所需要的资源素材。
实战:从GitHub下载I Am Busy项目。
步骤1:登录GitHub,并在搜索栏中输入I Am Busy。找到liumingl/I-Am-Busy并单击进入相关页面,如图3-10所示。为了可以快速找到需要的项目,我们可以在搜索的时候指定Language为Swift,以便缩小查找的范围。
图3-10 GitHub网站主页面
步骤2:为了可以拷贝项目代码和素材文件,单击Clone or download按钮,如图3-11所示。
图3-11 下载项目代码到本地
步骤3:将下载的zip文件解压缩,进入I Am Busy - Start文件夹,打开项目文件。
步骤4:在项目导航中选择TARGETS,在General标签将Bundle Identifier中的域名修改为自己的域名,如图3-12所示。
图3-12 打开项目以后修改Bundle Identifi er设置
实战:仿照I Am Rich项目,完成I Am Busy项目。
步骤1:从对象库中添加一个UILabel到Main.storyboard的视图控制器的View中。
步骤2:设置UILabel的text属性为I Am Busy。设置Label的字体为Helvetica-Neue-Thin,字号为40。
步骤3:在选中Label的情况下,使用Command + =组合键将UILabel调整到合适的大小,并定位好其位置。
步骤4:再次通过对象库将Image View拖曳到视图控制器的View中,设置Image View显示名为Busy的图像,并且设置Content Mode为Aspect Fit。你可以调整Image View到合适的大小与位置。
步骤5:改变视图控制器中View的背景颜色,并对个别UI控件进行个性化调整。
在Xcode模拟器或iPhone真机上运行该项目,效果如图3-13所示。
图3-13 I Am Busy项目的最终效果