在Double Encore,我们写的代码都是干净,可重用的——不过,有时候并不能完全做到。如在使用pragma mark的时候。下面就是一个示例:
 
  1. #pragma mark - UIViewController overrides
通过pragma mark,可以让代码看起来既整洁又有组织。虽然这很重要,但是会带来额外的输入操作和时间。此时,我们可以使用code snippets。
 
通过code snippets,我们可以创建一些可重用的代码块,并且在任何需要的地方很容易的就可以使用这些代码块。这可以节省输入需要的操作和时间。并且,一旦你学会使用code snippets,会发现你可以创建并扩充自己的code snippet library。
 
创建一个code snippet非常简单。首先,打开Xcode并在utilities panel中选择code snippet library。
上图中,可以看到在code snippet library中已经有一些数据了。
 
选中代码块,如下图所示:

然后单击并按住代码块,知道文本光标变为箭头光标。接着将代码块拖放到code snippet library中,然后松开鼠标。如下图所示
此时会弹出一个popover,通过该popover可以对新的code snippet进行编辑,如下图所示。
首先,是定snippet的名字。这里我指定为“Pragma Mark”
然后,指定该snippet的completion shortcut(可选项)。这里我指定为“pm”。这样设置以后,在Xcode的代码编辑器中只需要输入快捷方式(pm),就能简单的将这个snippet添加到代码中。非常有用!
接着,可以看到在上面的示例中,pragma mark的标题是“UIViewController overrides”,不过我们是希望对其修改一下,以能够很容易的输入任意标题。
 
我们可以简单的将code snippet包含的文本内容修改为“#pragma mark – “即可。不过,这里还有更好的一个办法——将文本块封装到“<#” 和 “#>”中间,这样code snippet将指出我们可以插入自定义文本的完整范围。
 
下面,将“UIViewController overrides”替换为“<#Title#>”。
注意,completion scopes字段在这里并没有做修改,通过该字段可以指定completion shortcut的有效范围。
 
最后,点击edit按钮,以完成snippet的编辑。之后可以在这个popover画面中看到最终结果的一个预览效果。
 
然后点击popover中的done按钮。下面,你可以将我们在代码编辑器中为创建snippet而写入的文本行删除掉。
 
现在来试用一下刚刚创建的snippet!有两种方法。第一种是在code snippet library中找到snippet,然后用鼠标将其拖拽到代码编辑器中…
...然后松开鼠标。
一旦将snippet拖放到代码编辑器之后,就可以通过点击键盘上的tab键在不同的completion字段间移动焦点。
第二种方法是在代码编辑器里简单的输入completion shortcut中设置的内容即可。我们这里是“pm”。
然后点击键盘中的return键,就可以将snippet插入到代码编辑器中。
很简单吧!现在你已经知道如何创建自己的snippet了,你将发现这非常的有用。任何时候,你都遇到重复输入的相同代码块,都可以考虑将其添加到你的code snippets library中。
 
下面是我经常使用到的一些snippet:
 
  1. Title: Animation Block
  2. Completion Shortcut: ab
  3. Completion Scopes: Function or Method
  4. void (^<#Title#>)(void) = ^{ };
 
  1. Title: Animation Completion Block
  2. Completion Shortcut: acb
  3. Completion Scopes: Function or Method
  4. void (^<#Title#>)(BOOL) = ^(BOOL finished) { };
  1. Title: Notification Add
  2. Completion Shortcut: na
  3. Completion Scopes: Function or Method
  4. [[NSNotificationCenter defaultCenter] addObserver:<#Observer#> selector:<#Selector#> name:<#Name#> object:<#Object#>];
  1. Title: Notification Remove
  2. Completion Shortcut: nr
  3. Completion Scopes: Function or Method
  4. [[NSNotificationCenter defaultCenter] removeObserver:<#Observer#> name:<#Name#> object:<#Object#>];
  1. Title: NSLog
  2. Completion Shortcut: log
  3. Completion Scopes: Function or Method
  4. NSLog(@"<#Log#>");
  1. Title: Private Interface
  2. Completion Shortcut: pi
  3. Completion Scopes: Top Level
  4. @interface <#Title#> ()
  5. @end
  1. Title: Property Assign
  2. Completion Shortcut: pa
  3. Completion Scopes: All
  4. @property (assign, nonatomic)
  1. Title: Property Strong
  2. Completion Shortcut: ps
  3. Completion Scopes: All
  4. @property (strong, nonatomic)
  1. Title: Property Unsafe Unretained
  2. Completion Shortcut: pu
  3. Completion Scopes: All
  4. @property (unsafe_unretained, nonatomic)

Xcode Snippets的更多相关文章

  1. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  2. iOS 开发常用的一些工具

    http://www.itjhwd.com/ios-tool/ 通用工具 HomeBrew:OS X上非常出色的包管理工具. 源码控制 Git:分布式版本控制系统和源码管理系统,其优点是:快和简单易用 ...

  3. iOS_高效开发之道

    iOS_高效开发之道 话不多说, 总结一下个人感觉有利于提高iOS开发效率的几个小技巧. 本文将从下面几方面介绍: Xcode经常使用快捷键 Xcode调试技巧 Objc经常使用代码片段 Xcode插 ...

  4. [OpenCV] Install OpenCV 3.4 with DNN

    目标定位 一.开始全面支持 Tensorflow OpenCV3.4 新功能 当前最新进展OpenCV 3.4 dev:https://github.com/opencv/opencv/tree/ma ...

  5. Xcode开发中 Code Snippets Library 的相关用法

    当在进行项目的时候,总会遇到很多相同的写法.因此,我们可以使用Code Snippets Library 来进行代码小片段的“封装”: 以Xcode中常用的属性为例: 使用步骤如下: 1.在Xcode ...

  6. Xcode开发技巧之Code Snippets Library

    http://blog.csdn.net/lin1986lin/article/details/21180007 目录(?)[-] 引言 什么是Code Snippets 如何新建Code Snipp ...

  7. xCode如何导入自定义的snippets文件

    xCode代码块snippets导入 目标文件放置位置 ~/Library/Developer/Xcode/UserData/CodeSnippets 操作方法: 解压缩并复制到以下目录即可

  8. iOS 从git拷贝Xcode的snippets

    do following things in terminal 1. check out the project using: git clone gitAddress 2. cd the proje ...

  9. Xcode开发技巧之code snippets(代码片段)

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

随机推荐

  1. 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想

    转自:http://www.cnblogs.com/haippy/archive/2012/07/13/2590351.html   布隆过滤器[1](Bloom Filter)是由布隆(Burton ...

  2. [Hadoop入门] - 2 ubuntu安装与配置 hadoop安装与配置

    ubuntu安装(这里我就不一一捉图了,只引用一个网址, 相信大家能力) ubuntu安装参考教程:  http://jingyan.baidu.com/article/14bd256e0ca52eb ...

  3. mysql的部分命令图解

    1.查询有哪些库: show databases;  图中除了Carlton库之外,其它都是系统自带的. 要养成在命令后加入:的习惯 2.查看某个库的表 show tables; 3. 查看表的字段 ...

  4. SqlServer2008快照隔离模式的业务应用

    场景: 有200个检测点,每个检测点每天采集5个数据,对表的读写都是随机的(即有可能同时读写),总共有5年的数据. 存储方案A: 日期 点号 类型 值 20120101 001 A 1.0 20120 ...

  5. ace-下载-安装

    安装ACE 1.获取安装包 到ACE的官方网站http://www.cs.wustl.edu/~schmidt/ACE.html或者http://riverace.com/index.htm下载最新版 ...

  6. 四种java代码静态检查工具

    [转载]常用 Java 静态代码分析工具的分析与比较 转载自 开源中国社区 http://www.oschina.net/question/129540_23043       1月16日厦门 OSC ...

  7. js基础之DOM

    一.创建子节点 发帖在顶部显示: var oBtn = document.getElementById('btn1'); var oUl = document.getElementById('ul1' ...

  8. 用Navicat for MYsql创建表,插入中文显乱码

    段都有编码设置.出现乱码肯定是你现在用的编码混乱造成的 解决办法: 第一步 先改数据库编码 先修改你的数据库,如果你页面用的是UTF-8编码那么你数据库内的编码也需要设置为UTF-8,每个字段都需要设 ...

  9. POJ 1979 Red and Black dfs 难度:0

    http://poj.org/problem?id=1979 #include <cstdio> #include <cstring> using namespace std; ...

  10. winform按钮和子按钮

    实现目标: 一.两组按钮1和2,其中按钮2有两个子按钮, (1)当选按钮1时,按钮2和其子按钮不选中: (2)选中按钮2或其子按钮3和4时,1不选中 (3)选中按钮2时,默认选中其子按钮3 (4)选中 ...