巧用 Xcode 的代码片段,减少重复思考

2,773 阅读4分钟

代码片段复用

如果你经常观看 WWDC 的视频,你可能会发现一个细节。就是这些演讲者在分享代码内容的时候,能够很快的输入预先设置好的大段代码,看起来非常爽。 其实 Xcode 本身就提供了这个功能,我们可以自定义代码片段,在需要的时候立即复用。这个功能不但在发表演讲的时候有用,更主要的是能在我们平时开发的时候大幅提高效率,减少不必要的重复思考。

Xcode 本身就内置了很多代码片段,如下图,在右边栏下面,点击图形类似 {} 的选项卡:

这里面列出了 Xcode 内置的一些代码片段,其实我们在平时开发的时候,不知不觉的已经使用过他们了。 比如这个片段模板:

使用预置的这些代码片段也很容易,可以直接从右边栏直接拖动过来:

当然,除了拖动之外,你还可以通过输入代码关键字的方式:

如何减少重复思考

上面给大家提到的内置代码片段复用的例子还只是相对简单的场景,但也帮我们提高了不少效率。 接下来更重要和大家聊的就是如何用代码片段减少一些重复性思考的工作。 举个例子,UICollectionView 这个组件相信大家经常会用到,但要创建它,需要的代码其实并不简单,一个最简单的例子:


let layout = UICollectionViewFlowLayout()
layout.minimumLineSpacing = 2
layout.minimumInteritemSpacing = 2
layout.itemSize = CGSize(width: 200, height: 200)

collectionView = UICollectionView(frame: self.view.bounds, collectionViewLayout: layout)
collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "CellIdentifier")

self.view.addSubview(self.collectionView)

可以看到,即便创建一个最简单的 UICollectionView, 也需要进行一系列初始化操作,比如创建 UICollectionViewFlowLayout 用于指定它的布局,这个布局是必须要有的。 还需要为它注册 Cell 对应的类, 以及 ReuseIdentifier

这些初始化代码少了一点都会在运行时发生问题,造成调试困难。 而类似这样的繁琐代码,估计我们很难一直都记住,我自己以前也是在用到的时候起翻看以前的老代码,或者网上的例子。

这就回到如何减少重复思考的话题了。 了解到了 Xcode 的代码片段能力,其实我们可以为它创建一个代码片段,以后需要用到的时候直接使用即可,不必到处翻看,回忆了。

创建代码片段也很简单,选中我们需要的代码,反向拖动到右边栏:

拖动创建完成后,会弹出一个小窗口,里面列出了一些属性字段,来看一下:

Title 和 Summary 属性是代码片段的标题和摘要,会显示在右边栏和代码提示界面中。 我们还可以选择这个片段的 Platform 和 Language, 可以限定指定的平台和语言,才可以使用这个片段。

Completion Shortcut 这个是代码片段的快捷键,我们在这里指定的是 coll, 那么在代码编辑器中,我们键入同样的关键字后,就可以在提示菜单中选择这个片段了, 图中提示菜单的第一项就是这个代码片段了:

到这里我们就完成一大半了,现在你可以输入关键词,或者从右边栏拖动来使用这个代码片段了。 但还有一点不够灵活,像是 itemSize, minimumLineSpacing 等,这些属性的值都是写死的。也许我们并不想用这些预置的值,你当然也可以手动的去修改,当然 Xcode 还给我们提供了更灵活的方案。

你可以在代码片段模板中用 <# #> 符号,里面加上一个标识名来标识一个占位符,比如我们这个模板中的那些变量。

这样修改后,我们再次使用代码片段的时候,你就会看到所有这些参数,都以高亮的方式显示了出来,并且你可以依次给他们指定值:

相信这个高亮显示你应该不陌生。

结束

这次和大家聊了一下 Xcode 的代码片段能力,以及它对我们平时开发中能起到什么作用。 对于那些经常会用到,但是很繁琐的代码片段,它能让你写出的代码更标准化,并且更少的出错。合理的使用,肯定能让你的开发体验越来越爽。


如果你觉得这篇文章有帮助,还可以关注微信公众号 swift-cafe,会有更多我的原创内容分享给你~

本站文章均为原创内容,如需转载请注明出处,谢谢。