美文网首页iOS 相关
IOS-代码块的使用

IOS-代码块的使用

作者: FDZero | 来源:发表于2016-11-11 17:50 被阅读2358次

    其实我们在编程的时候经常会使用到代码块,只不过是系统已经封装好了,比如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#>

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

    相关文章

      网友评论

        本文标题:IOS-代码块的使用

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