美文网首页
Block的简单使用

Block的简单使用

作者: lcc小莫 | 来源:发表于2018-05-02 16:57 被阅读0次

block是对象,它封装了一段代码,这段代码可以在任何时候执行。block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:block是inline的,并且它对局部变量是只读的,^是block语法的标识。
blcok常使用的3种方式:
1.block作为对象的属性
2.block作为方法参数
3.block作为返回值(使用场景很多,扩展性特别强)

1.block作为对象的属性
  people类
  #import <Foundation/Foundation.h>
  typedef void (^PeopleBlock) (void);
  @interface People : NSObject
  @property (nonatomic,strong) PeopleBlock peopleBlock;
  @end

  vc控制器
  - (void)block1{
      People *p = [People new];
      void (^LCBlock)(void) = ^(){
          NSLog(@"1.block作为对象的属性");
      };
      p.peopleBlock = LCBlock;
      p.peopleBlock();
  }
block作为方法参数
people.h
#import <Foundation/Foundation.h>
@interface People : NSObject
 - (void)eat:(void(^)(NSString *))blcok;
@end

people.m
- (void)eat:(void (^)(NSString *))blcok{
    blcok(@"2.block作为方法参数");
}

vc控制器
- (void)block2{
    People *p = [People new];
    [p eat:^(NSString * str) {
        NSLog(@"%@",str);
    }];
}
block作为返回值(使用场景很多,扩展性特别强)
people.h
#import <Foundation/Foundation.h>
@interface People : NSObject
- (void(^)(NSString *))str;
@end

people.m
- (void (^)(NSString *))str{
    return ^(NSString *str){
        NSLog(@"%@",str);
    };
}


vc控制器
- (void)block3{
    People *p = [People new];
    p.str(@"3.block作为返回参数");
}

在平时开发当中,这3种是使用最频繁的,理解透这三种使用,是对我们的基本要求。
END

相关文章

  • ios block使用

    iOS Block的使用一 .最简单的block使用******使用block的三个步骤:1.定义block变量 ...

  • Block - block简单的使用

    参考文档 iOS Block详解 一、忘记block格式? 样例一.png 样例二.png 二、Block的定义 ...

  • iOS Block使用注意

    block本质是两个结构体,使用block使代码简单易读。使用Block注意: 1、block内部使用外部指针,会...

  • Block简单使用

    block的代码是内联的,效率高于函数调用 block对于外部变量默认是只读属性 block被Objective-...

  • Block简单使用

    block用copy修饰block里不能改变block外面的变量,如果需要改变必须在变量前面加__block 修饰...

  • block简单使用

    一个vc需要加一个view,一个view上面有imageView,label,button等。我们把这个view独...

  • block简单使用

    1.首先在头文件(.h文件)声明一个block属性 @property (nonatomic,copy)void ...

  • Block简单使用

    //block在两个视图的传值 Apush到B B消失时将textfield的值传回A //B.h //给bloc...

  • iOS Block的使用

    一 .最简单的block使用 使用block的三个步骤: 1.定义block变量2.创建block代码块3.调用b...

  • block初窥

    一.block的简单使用 1.block声明 block变量的声明格式为: 返回值类型 (^block名字)(参数...

网友评论

      本文标题:Block的简单使用

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