我们经常会定义一些retain的property,而且大概每次我们都会像这样写:
@property(nonatomic, retain)Type*name;
每次都要老老实实的把“@property (nonatomic, retain)”敲一遍,这样太累了。
那么能不能像XCode自带的代码提示功能一样,每次我们只需敲两三个键,代码提示就出来了,然后一下子就可以把我们这段代码输入进去?这样不是方便了许多吗?
Yes, we can. But how?
别急,下面我就以这段代码为例,展示如何在XCode中添加自定义的代码片段。
用XCode随便打开或新建一个项目,然后随便打开一个.h或者.m文件。
随便找个空白位置,输入“@property (nonatomic, retain) <#type#> *<#name#>;”。(不含双引号,“<#”、“#>”这两个符号的作用,你一会儿就明白了。)
打开XCode右侧的Utilities View,然后在其靠底部的位置找到并打开Code Snippets Library。
选中我们刚刚输入的那段代码,把它拖到Code Snippets Library中。
滚动到Code Snippets Library的最底部,找到一个花括号上面带个“User”文字的图标。
单击那个图标,会弹出一个窗口。然后点击窗口底部左边的Edit按钮
在Title和Completion shortcut这两项中,输入代码片段的标题和快捷键。快捷键用于激活代码提示,标题则会显示在代码提示中。此例中,我们输入标题为“Objective-C @property retain”,快捷键为“@property ”。
选择对应的platform、language和Completion scope。然后点击“Done”按钮。
此例中,platform我们选All;language选Objective-C;Completion scope选Class Interface Methods。
Completion scope指定了激活代码提示的快捷键的有效的区域,比如这里我們选的Class Interface Methods就是说明这段代码的快捷键在声明类方法的区域才能激活代码提示;在其他任何区域,无论怎么敲这个快捷键,都不会出现这段代码的提示。
好,现在删掉我们刚刚输入的代码。然后随便找类的头文件,在定义类property的区域,试试敲入我们刚刚设置的快捷键。你注意到了吗?我们仅仅才敲入“@p”这两个字符,代码提示就已经出来了。选中代码,回车,XCode自动把代码给我们补全了,是不是快多了?
ps.
现在你知道“<#”、“#>”这两个符号的作用了吧?
为什么例子中,我们的快捷键“@property ”后面要加一个空格?试试不加空格有什么效果?