美文网首页
Block使用总结

Block使用总结

作者: 程序媛coco | 来源:发表于2015-09-13 14:39 被阅读66次
  1. Block和函数很像,具有如下特性:
  • 可以保存代码
  • 有返回值
  • 有形参
  • 调用方式一样
  1. 使用的形式举例:
    1)带参数的形参
int (^heblock)(int,int) = ^(int a, int b){
     return a + b;
};

2)不带形参的block,如果没有形参可以省略后面的小括号

void (^myblock)() = ^{
      NSLog(@“我的BLOCK”);
};

3)利用typedef定义block类型

typedef int (^myblock)(int, int);
myblcok he = ^(int a, int b){
  return a + b;
};
int c = he(19,9); // 将19和9的和赋值给c;
  1. block访问外面的变量
  • block内部可以访问外面的变量
  • 默认情况下block不能修改外面的局部变量
  • 给局部变量加上_block关键字,这个局部变量就可以在block内部修改
    如: int a = 11; _block int b = 12;
    上面的两个变量a和b只有b能够在block中被修改!
  1. 在ARC情况下:(用__weak / 下面的方式修饰)
// 在HHLoginViewController.h定义一个完成block
@property (nonatomic, copy) void(^dosomeComplish)();
HHLoginViewController *loginVC = [[HHLoginViewController alloc] init];
        //使用__weak避免循环引用
        __weak typeof(self) weakSelf = self;
        loginVC.dosomeComplish = ^{
            [weakSelf dosome];
        };
  1. 在MRC即非ARC情况下:只能用__block

相关文章

  • iOS进阶-深度学习block原理

    目录 基本声明使用总结 block在ARC、MRC下内存方式 使用block遇到的坑 更深次的看block的本质 ...

  • Block使用总结

    Block和函数很像,具有如下特性: 可以保存代码 有返回值 有形参 调用方式一样 使用的形式举例:1)带参数的形...

  • Block 使用总结

    Block 内存管理: Block 内存主要分派到 NSGlobalBlock(data area),NSMall...

  • Block使用总结

    void (^mutiplayBlock)(NSString *) = ^(NSString *str) {NSL...

  • block使用总结

    1.block使用步骤: 1>.有两个控制器,主动传值或者提供方法的控制器A,接受值的控制器B2>.让A控制器ty...

  • Objective-C Block Part2 - 实现原理

    Block 的本质 在 Objective-C Block Part1 中总结了 Block 的一些使用规则,但...

  • iOS block的使用

    在项目中,很多时候我们都会遇到使用block进行数据传值,而block也非常方便,现在就总结一下block的使用方...

  • 随手记

    1.tabbarTitle选中 2.block总结 2.1.block内没有使用外部变量或是只使用了全局/静态变量...

  • block的声明以及使用的底层实现

    1. 在OC中block的声明->赋值->使用 2. block的底层实现 3. 总结 声明:参考文章https:...

  • Block的安全用法

    block用的越来越多block被滥用block被乱用 安全用法 现在总结一个安全可靠的使用方法: 是的,就是这个...

网友评论

      本文标题:Block使用总结

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