野菊花

首页 » 常识 » 预防 » iOS代码块CodeSnippets
TUhjnbcbe - 2021/6/13 13:11:00
小实验property(nonatomic,assign)NSIntegerage;

上面的代码,如果是你,你平时怎么在Xcode中敲写的呢?

第一种:从左到右依次敲写

第二种:采用CodeSnippet

通过我们的肉眼观察,可以很容易的发现:第二种明显更快。

眼见为虚,那好,我们用数据来说话(控制变量法+录屏):

唯一不可控的是我在敲代码时的反应,暂且忽略不计。

第一种用时14秒,第二种用时及3秒,可以看出,差别还是很大的(说实在的,我自己之前也一直觉得第二种效率更高,但是没想过如此之高)。

代码块(CodeSnippet)

代码块(CodeSnippet),顾名思义,就是一个代码片段。

如何自定义代码块创建代码块

注意下图圈中,对应的颜色(左边是敲代码时展示的效果,右边是代码块的配置)。

这里注意要选择Objective-C(默认是Objective-C++),否则扩展(extension)中无效。

系统提供的代码块

dispatch_once、dispatch_after

staticdispatch_once_tonceToken;dispatch_once(onceToken,^{#codetobeexecutedonce#});returnYES;dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(#delayInSeconds#*NSEC_PER_SEC)),dispatch_get_main_queue(),^{#codetobeexecutedafteraspecifieddelay#});

for、for...in...

for(#initialization#;#condition#;#increment#){#statements#}for(#type*object#in#collection#){#statements#}自定义的代码块

格式:#注释#

属性

关键字属性

property(nonatomic,strong)#ClassName#*#propertyName#;///#注释#

property(nonatomic,strong)#ClassName#*#propertyName#;

property(nonatomic,assign)#TypeName##propertyName#;///#注释#

property(nonatomic,assign)#TypeName##propertyName#;

具体属性

property(nonatomic,strong)UILabel*#XX#Label;///#注释#

property(nonatomic,strong)UILabel*#XX#Label;

property(nonatomic,copy)NSString*#propertyName#;///#注释#

property(nonatomic,copy)NSString*#propertyName#;懒加载

UILabel/UIImageView等的懒加载

-(UILabel*)#yourLabel#{if(!_#yourLabel#){_#yourLabel#=[[UILabelalloc]init];}return_#yourLabel#;}-(UIImageView*)#yourImageView#{if(!_#yourImageView#){_#yourImageView#=[[UIImageViewalloc]init];}return_#yourImageView#;}

NSArray/NSMutableArray有泛型的懒加载

-(NSMutableArray#GenericsName#**)#yourMArray#{if(!_#yourMArray#){_#yourMArray#=[NSMutableArrayarray];}return_#yourMArray#;}

NSArray/NSMutableArray无泛型的懒加载

-(NSMutableArray*)#yourMArray#{if(!_#yourMArray#){_#yourMArray#=[NSMutableArrayarray];}return_#yourMArray#;}方法调用

delegate先判断再执行

Masonry使用

其它(Everyorany,ifyouwant!)代码块的优点

避免重复代码反复敲写,减少不必要的时间浪费(如小实验的实验)

快速演示(详见每年的WWDC)

不常用的方法,可以特殊处理(我一般用来处理个别系统适配)。

统一编码规范

最后

代码块(CodeSnippet)真的是个很好用的东东,平时闲了,可以整理一份适合自己的代码块,然后通过GitHub进行备份。如果不想整理,也可以去GitHub搜一些拿来用,但我真的建议还是自己整理一份。

附:最新整理的CodeSnippets(公司内部统一用)

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: iOS代码块CodeSnippets