注
以下内容适用于旧版 Xcode(11以下),新版 Xcode 请参考最新内容:iOS 开发技巧 - 标注和 Code Snippets 。
引言
作为一只每天畅游在代码里而快(ku)乐(bi)的攻城狮,在一遍又一遍敲着重复的代码时候会不会觉得很无聊、浪费生命呢?即使使用了继承、分类、封装、宏定义等等一系列手段去优化代码、提高代码的复用性,但是对一些样式基本一致,再基础不过的代码,例如一些属性的定义,CGD,某控件的初始化(部分工厂化效果更好)等等,还是再一遍便的敲打出来,这是中折磨啊有没有?有人会说了,我可以复制原来的代码,再此基础上做改动啊。 没错是没错,但是Xcode有没有好的办法让我们方便的复用这些基本代码,不用我们手动复制呢?答案是有的,那就是今天要提的Code Snippets代码块。
系统代码块
其实系统已经帮我们定义好了一些代码块,例如你在使用for循环语句,switch选择语句,@protocol定义协议等等,就像下面一样:
系统还有很多这样便捷的代码块,你可以到这里去查看:
自定义代码块
-
选中你要存储的代码块,长按,待光标变成箭头时就可以拖动到Code Snippets里了。
-
编辑页面:
-
设置占位符(可选)
如果你想制作一个模版,比如某个参数需要待定传入的,你可以在编辑页面使用<#站位代码/文字提示#> -
使用
在文件合适的地方敲出你设置的快捷代码,即可弹出:
如果使用了占位符就成了这样:
这样是不是方便了很多呢?
一些代码块
属性:
//1、strong:
@property (nonatomic,strong) <#Class#> *<#object#>;
//2、weak:
@property (nonatomic,weak) <#Class#> *<#object#>;
//3、copy:
@property (nonatomic,copy) NSString *<#string#>;
//4、assign:
@property (nonatomic,assign) <#Class#> <#property#>;
//5、delegate:
@property (nonatomic,weak) id<<#protocol#>> <#delegate#>;
//6、block:
@property (nonatomic,copy) <#returnType#>(^<#name#>)(<#arguments#>);
标注
// 分组
#pragma mark - <#添加注释#>
// 注释
#pragma mark <#添加注释#>
// MARK: <#注释内容#>
// TODO: <#实现某功能#>
// FIXME: <#修改内容#>
// !!!: <#添加注释#>
// ???: <#未知内容#>
代码片段备份
Xcode中的代码片段默认放在下面的目录中:
~/Library/Developer/Xcode/UserData/CodeSnippets
我们可以将目录中的代码片段备份,也可以将其直接拷出来放在不同的电脑上使用。