• Xcode开发技巧—— Code Snippets


    【属性说明】

    • 1.Title:Code Snippets的标题;
    • 2.Summary:Code Snippets的描述文字;
    • 3.Platform:可以使用Code Snippets的平台,有IOS/OS X/All三个选项
    • 4.Language:可以在哪些语言中使用该Code Snippets
    • 5.Completion Shortcut:Code Snippets的快捷方式,比如本文第二部分编写switch代码段用到的sw,在这里,把属性设置的快捷方式设为pc
    • 6.Completion Scopes:可以在哪些文件中使用当前Code Snippets,比如全部位置,头文件中等,当然可以添加多个支持的位置。
    • 7.最后的一个大得空白区域是对Code Snippets的效果预览。

    一切设置完成以后,点击该菜单右下角的Done按钮,新建工作就结束了。

     
    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。在这里,我为pragma mark创建一个code snippet。如下图所示,在代码编辑器中输入 “#pragma mark – UIViewController overrides”。
    选中代码块,如下图所示:
    然后单击并按住代码块,知道文本光标变为箭头光标。接着将代码块拖放到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.   
    5. void (^<#Title#>)(void) = ^{ }; 
     
    1. Title: Animation Completion Block 
    2. Completion Shortcut: acb 
    3. Completion Scopes: Function or Method 
    4.   
    5. void (^<#Title#>)(BOOL) = ^(BOOL finished) { }; 
    1. Title: Notification Add 
    2. Completion Shortcut: na 
    3. Completion Scopes: Function or Method 
    4.   
    5. [[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.   
    5. [[NSNotificationCenter defaultCenter] removeObserver:<#Observer#> name:<#Name#> object:<#Object#>]; 
    1. Title: NSLog 
    2. Completion Shortcut: log 
    3. Completion Scopes: Function or Method 
    4.   
    5. NSLog(@"<#Log#>"); 
    1. Title: Private Interface 
    2. Completion Shortcut: pi 
    3. Completion Scopes: Top Level 
    4.   
    5. @interface <#Title#> () 
    6.   
    7. @end 
    1. Title: Property Assign 
    2. Completion Shortcut: pa 
    3. Completion Scopes: All 
    4.   
    5. @property (assign, nonatomic) 
    1. Title: Property Strong 
    2. Completion Shortcut: ps 
    3. Completion Scopes: All 
    4.   
    5. @property (strong, nonatomic) 
    1. Title: Property Unsafe Unretained 
    2. Completion Shortcut: pu 
    3. Completion Scopes: All 
    4.   
    5. @property (unsafe_unretained, nonatomic) 
  • 相关阅读:
    关于Redis的介绍,使用以及集群
    关于RESTful详解
    关于Nginx——反向代理
    关于RabbitMQ
    关于Nginx——负载均衡
    关于Nginx——配置虚拟主机
    StringBuffer是字符串缓冲区
    数组的查找操作
    获取任意年的二月有多少天
    快速排序算法
  • 原文地址:https://www.cnblogs.com/ChrisYu/p/4684834.html
Copyright © 2020-2023  润新知