美文网首页面试常见问题
iOS Code Snippets 提升代码开发效率

iOS Code Snippets 提升代码开发效率

作者: 图长伴 | 来源:发表于2021-02-04 15:19 被阅读0次

    描述:

    我们有没有好奇过,我们写代码的时候输入几个字母系统就会提示一些相应的代码块。比如- (instancetype)initWithFrame:(CGRect)frame等。但是还有些我们常用的代码块系统是没有的。这个时候我们就需要自己自定义一些代码块了。

    自定义代码块的方法:

    1.首先在项目中写入自己想创建成为Code Snippets的代码块。如:

    @property (nonatomic, assign) <#Type#> <#name#>;
    

    2.选中代码块点击鼠标右键选中create Code snippet 选项。
    3.进入编辑代码块的界面。


    代码块界面

    4.进行代码块命名,我一般都是用My做前缀,后面是名称,需要占位的代码可以用特殊格式写<#type#>。
    5.最后点击Done完成。

    补充说明一下下面的几个选项:

    1.Language:选择开发语言。
    2.Platform:可用于的平台iOS、macOS、tvOS、watchOS。
    3.Completion:和代码块的名称要一样,否则引用的时候打不出来。
    4.Availabililty:在哪些地方可以调用出代码块,比如有的代码块适用于.h文件,有的代码块适用于.m文件,他们的代码块名称很相似,为了引用的时候不都弹出来干扰选择,可以设置这个选项。规定其可用范围。

    常用的自定义代码块:

    属性构建:
    @property (nonatomic, assign) <#Type#> <#name#>;
    @property (nonatomic, copy) <#Type#> *<#name#>;
    @property (nonatomic, strong) <#Type#> *<#name#>;
    @property (nonatomic, weak)  <#Type#> *<#name#>;
    @property (nonatomic, copy) void (^<#name#>Block) (<#name#>);
    
    强弱Self:
    __weak __typeof(self) weakSelf = self;
    __strong __typeof(self) strongSelf = weakSelf;
    
    懒加载:
    - (<#type#> *)<#name#> {
        if (!_<#property#>) {
        }
        return _<#property#>;
    }
    
    单例:
    static <#ClassSingle#> *_sharedSingleton = nil;
    static dispatch_once_t _onceToken;
    
    + (instancetype)shareSingleton {
        dispatch_once(&onceToken, ^{
            if (_sharedSingleton == nil) {
                _sharedSingleton = [[super allocWithZone:NULL] init];
            }
        });
        return _sharedSingleton;
    }
    
    + (instancetype)allocWithZone:(struct _NSZone *)zone {
        return [<#ClassSingle#> shareSingleton];
    }
    
    - (id)copyWithZone:(nullable NSZone *)zone {
        return [<#ClassSingle#> shareSingleton];
    }
    
    - (id)mutableCopyWithZone:(nullable NSZone *)zone {
        return [<#ClassSingle#> shareSingleton];
    }
    
    - (void)destorySingle {
        _onceToken = 0;
        _sharedSingleton = nil;
    }
    

    还有一些关于UI快速创建的,快速创建UILabel,UIButton,UITableView,UICollectionView等,一些快速构建约束的,就不一一列举了。

    问题:

    这时候的的人可能会问,我也想搞一套这个东西,但是我一个一个的往上粘也太麻烦了,有没有直接把写好的一套的代码块直接挪到项目中去呢?

    这个还真有。首先,我们要知道存放代码块的文件在哪,找到这个文件,将现有的代码块文件,放进这个文件夹中就可以了。在桌面(shift + command + G)复制下面的路径回车。

    文件路径:

    ~/Library/Developer/Xcode/UserData/CodeSnippets

    存放代码块的地址:

    https://github.com/WarmLGZ/CodeSnippetsFile

    总结:
    这个代码块确实能提升我们的代码效率,别人刚写个UILabel你的一块代码都写完了,就是这么省事。还有一次我Xcode升级了以后,我之前自己定义的一些代码块就没有了。写这个文章也为了保存一份文件,以防万一。还有哪些不足和需要补充的地方望大家补充指教,必虚心学习。

    相关文章

      网友评论

        本文标题:iOS Code Snippets 提升代码开发效率

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