美文网首页iOS 开发随笔iOS开发技巧IOS
From Andy Warhol - 从简单实用的小Tips说起

From Andy Warhol - 从简单实用的小Tips说起

作者: Binboy_ | 来源:发表于2015-10-23 08:42 被阅读156次

    现在编程也逐渐开始可视化了,譬如使用storyboard只需拖拖拽拽就能实现许多功能,省去了许多代码,苹果官方也极力推荐这样的方式,我们也逐渐习惯了视图控件搭配AutoLayout来构建UI界面,效率提高不止一点两点。However!作为软件开发工程师——据说最近都流行这么称呼,我们绝大多数的时候还是与代码交互。不过好在"一切皆对象,凡事可封装",在Xcode中,我们有Code Snippet Library来管理复用代码块。

    代码复用

    在面向对象语言当中,“==类封装==”是实现模块化代码复用最常用的方式,除此之外,对于一些非模块化的常用代码呢,我们以往最常用的复用方式想必就是command + ccommand + v了,譬如:

    各种初始化代码段

    - (instancetype)init
    {
        self = [super init];
        if (self) {
            <statements>
        }
        return self;
    }
    —————————————————————————————————————————————————————————————————————————————————————
    - (instancetype)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            <statements>
        }
        return self;
    }
    

    GCD的C语言代码块

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<delayInSeconds> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        <code to be executed after a specified delay>
    });
    —————————————————————————————————————————————————————————————————————————————————————
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        <code to be executed once>
    });
    

    循环、枚举等代码块

    typedef enum : NSUInteger {
        <MyEnumValueA>,
        <MyEnumValueB>,
        <MyEnumValueC>,
    } <MyEnum>;
    

    以上的代码是不是很常见,使用频率也相当地高,但我们在Xcode当中使用这些代码块的时候并不需要复制粘贴、而是“手动”敲出来的啊~仔细想想,真是你手动敲出来的吗?其实这是Sinppet Library中默认提供了这些常用代码块。

    Snippet Library

    认识一下

    没错,就在the Object Library,也就是常用的视图控件库旁,想必除此之外的的三栏都常被忽略,其实都可以极大提高编码效率,这里一并介绍下。

    文件模板库,新建所需文件时拖入到工程文件导航栏快速创建

    控件对象库,使用IB时经常用,值得一提的是,记得里面还有各种手势

    媒体资源库,使用图片、音频资源时无须切换到xcassets中,在这里可以快速查看到

    言归正传,自定义Code Sinppet

    Snippet中默认了诸多常用代码块,我们可以大致浏览看看,以便日后使用快速调用。这里重点要知道的是如何添加我们自己定义的常用代码块。

    1、打开Code Snippet Library后,选中一段需要添加的代码块

    2、选中新产生的代码块My Code Snippet并点击Edit进行自定义编辑

    3、自定义Title、Shortcut,并编辑需要动态修改的条目

    • Title:代码块的标题名称,以便识别,如:strong属性
    • ==Completion Shortcut==:使用代码块时,自动补全的快捷方式,如:strong
    • 为需要动态修改的代码条目添加修饰,如:<#Type#>、<#name#>

    4、点击Done,这样就完成了自定义代码的添加

    调用自定义代码块

    在需要使用时,输入自定义的快捷方式,就可自动补全刚才的代码了

    这样,就可以愉快地添加各个strong类型的属性了

    参考

    是不是觉得确实挺好用的?但还是懒得添加自定义代码块的话,不妨可以去看看Github上的这两个项目:

    Xcode-Snippets/Objective-C

    Xcode-Snippets/Swift

    不过还是拥有属于自己的代码库来得实在,用起来也更灵活。

    也可以将其备份一下,供不同电脑使用,以下是自定义Code Snippet库的路径:

    ~/Library/Developer/Xcode/UserData/CodeSnippets

    预告篇

    下一章节,将Xcode当中常用的代码操作以及相应的快捷方式归纳整理一番。

    相关文章

      网友评论

        本文标题:From Andy Warhol - 从简单实用的小Tips说起

        本文链接:https://www.haomeiwen.com/subject/irpthttx.html