iOS 相关

IOS-代码块的使用

2016-11-11  本文已影响2358人  FDZero

其实我们在编程的时候经常会使用到代码块,只不过是系统已经封装好了,比如dispatch、init及其衍生,根据需要我们经常只需要打入几个关键单词,按下回车,系统就会直接写好整套代码的实现,其实系统就是使用了封装好了的代码块,我们可以在xcode右边看到系统封装的一些代码块,如下图所示

图1-code snippets

从这里我们可以看到有一些我们经常会使用到。

代码块能够有效的提高编程效率,减少编程时间,本帖主要记录了一些常用的代码块的设置和编写。

一、代码块的定义

我们先定义一个最简单的代码块,在属性定义的位置我们写下如下代码

@property(nonatomic,strong) <#Class#> *<#object#>;

然后选中代码,将其拖到xcode右边code snippets处(就是图1显示处)

图2-编辑代码块

如上图所示,拖动结束后会弹出代码块的编辑界面,其中

title对应代码块的标题,summary类似描述,platform是适用环境,completion shortcut是快捷输入,最后一个是该代码块适用范围

图3-设置代码块成功

上图是我的设置方式,设置完成后done,然后在对应位置输入快捷代码,选中回车就直接补完

图4-代码块使用

到这里,一个简单的代码块定义就完成了,除了strong之外还可以设置assgin、copy、delegate、block等。

二、常用代码块

1、属性

@property(nonatomic,strong) <#Class#> *<#object#>;

@property(nonatomic,assign) <#Class#> <#property#>;

@property(nonatomic,copy) NSString *<#name#>;

@property(nonatomic,weak)id<<#protocol#>> <#delegate#>;

@property(nonatomic,copy) <#Block#> <#block#>;

@property(nonatomic,copy) <#class#> (^<#block#>)(id<#object1#>,...);

2、类的创建

2.1  单例

static<#class#> *singleClass =nil;

+ (instancetype)shareInstance{

staticdispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

<#code to be executed once#>

});

return<#expression#>

}

2.2  cell的创建

staticNSString *reuseID = <#property#>;

<#class#> *cell = [tableView dequeueReusableCellWithIdentifier:reuseID];

if(!cell) {

cell = [[<#class#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseID];

}

2.3  tableView快捷创建

-(UITableView *)tableView {

if(!<#tableview#>) {

<#tableview#> = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];

<#tableview#>.delegate =self;

<#tableview#>.dataSource =self;

}

return<#tableview#>;

}

#pragma tableView--delegate

#pragma tableView

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return<#expression#>

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return<#expression#>

}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

staticNSString *identify =@"cellIdentify";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify];

if(!cell) {

cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identify];

}

cell.textLabel.text =self.arrayTitle[indexPath.row];

returncell;

}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}

2.4  button的创建

UIButton *<#btn#> = [UIButton buttonWithType:UIButtonTypeCustom];

<#btn#>.frame = CGRectMake(100,100,100,50);

<#btn#>.backgroundColor = [UIColor orangeColor];

[<#btn#> addTarget:selfaction:@selector(<#btnClick#>:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:<#btn#>];

其他基本控件的创建类似就不多说了

三、书签、注释类

#pragma mark - <#gmark#>

//TODO:<#info#>

还有一些雷同的就不一一列出来了

上一篇下一篇

猜你喜欢

热点阅读