美文网首页
block相关

block相关

作者: 必须这么打 | 来源:发表于2015-12-14 09:56 被阅读0次
  • 是写在方法里的,在方法里定义个block,有返回值的,以;结尾,block只有被调用的时候才能执行 {} 里的代码。(如果有同名的优先调局部的)

  • 在类中,定义一个Block变量,就像定义一个函数
    代表有(名),(参数),(返回值)。

  • 没有参数的无返回值:

-(void)viewDidLoad{
     [super viewDidLoad];
    
      void (^printBlock) () = ^(){
      //block 内部
       NSLog(我再block内部);
    };
      printBlock ();
}
  • 有参数的有返回值:
int (^squer)(int) = ^(int num){
    return num*num;
};
NSLog (@"%d",squre(3));

x+y

int x =4;
square(3);
//__block 关键字 修饰 需要在block

__block int x =4;
void (^sum)(int) = ^(int y){
x += y;
NSLog(@"%d",x+y);
};
sum(100);

Block传值

.h 第二个页面

typedef void (^sendValue)(NSString *);
             //多个情况下 (NSString *,NSString*);
@property (nonatomic,assign) sedValue sv;

.m 第二个页面

-(IBAction)click:(id)seder{
[self dismissViewControllerAniamted:YES competin:^{
    _blockUpdateBtnTitle(@"传值");
  //多个 ^{ self.sv(@"传值",@"传值");
}];
}

.m 第一个页面

-(IBAction)jump:(id)sender{
SecondViewController *second = [[SecondViewController alloc] init];
second.sv = ^(NSString * str){
      //多个 ^(NSString * str,NSString *name)
      self.valueLabel.text = str;
//多个 self.valueLabel.text = [NSString stringWithFormat:@"%@ %@",str,name];
};
[self presentViewController:second animated:YES completion:nil];
}

相关文章

  • block相关

    是写在方法里的,在方法里定义个block,有返回值的,以;结尾,block只有被调用的时候才能执行 {} 里的代码...

  • Block相关

    bock常用写法: 1、无返回值 & 无参数 2、有返回值 & 无参数 3、有返回值 & 有参数 4、 block...

  • Block相关

    Block基本使用 1.1、block声明:返回值(^block变量名)(参数)void(^block)(); 1...

  • Block相关

    https://www.jianshu.com/p/4e79e9a0dd82

  • Block相关

  • Block相关

    Block 一:结构相关Block是一个包含了上下文变量的对象,该对象包含了_block_impl结构体,上下文变...

  • Block相关

    类型 1.NSGloabalBlock 全局block,存储在全局区 该block无参数,无返回值,内部也没有引用...

  • Block相关

    整理一下自己学到的知识,方便以后查看 使用block时什么情况会发生引用循环,如何解决? 一个对象中强引用了blo...

  • Block 初见

    Block 初见 介绍 iOS block 的相关知识 目录 Block 背景知识 Block 使用方式 Bloc...

  • block用法大全

    block语句块 如何解决block循环引用 高逼格理解block循环引用 block相关

网友评论

      本文标题:block相关

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