美文网首页
问题:谈谈block使用时的注意点?

问题:谈谈block使用时的注意点?

作者: 姜小舟 | 来源:发表于2020-05-08 15:00 被阅读0次
  • 在block内部使用外部指针且会造成循环引用情况下,需要用__weak修饰外部指针

    __weak typeof(self) weakSelf = self;
    
  • 在block内部如果调用了延时函数还使用弱指针会取不到该指针,因为已经被销毁了,需要在block内部再将弱指针重新强引用一下

    __strong typeof(self) strongSelf = weakSelf;
    
  • 如果需要在block内部改变外部变量的话,需要在用__block修饰外部变量

    __block int a = 2;
    
  • 在使用block前需要对block指针做判空处理。不判空直接使用,一旦指针为空直接产生崩溃。

    if (block == NULL) { //后面使用block之前要先做判空处理
           return;
    }
    id data = [NSKeyedUnarchiver unarchiveObjectWithFile:[self favoriteFile]];
    if ([data isKindOfClass:[NSMutableArray class]]) {
      block(data,YES);
    } else {
      block(nil,YES);
    }
    

相关文章

  • 问题[◇◇◇]:谈谈block使用时的注意点?

    在block内部使用外部指针且会造成循环引用情况下,需要用__weak修饰外部指针__weak typeof(se...

  • 问题:谈谈block使用时的注意点?

    在block内部使用外部指针且会造成循环引用情况下,需要用__weak修饰外部指针__weak typeof(se...

  • block的本质1

    问题 block的原理是怎样的?本质是什么? __block的作用是什么?有什么使用注意点? block的属性修饰...

  • iOS中对于内存警告的处理、内存性能优化

    内存警告的处理 1、首先需要检查循环应用的问题 ① 设置代理时注意要使用弱引用。② block使用时,函数内部涉及...

  • iOS底层原理 - Block

    关于block的问题 1.block的原理是怎样的?本质是什么?2.__block的作用是什么?有什么使用注意点?...

  • iOS Block使用注意

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

  • block的注意点

    copy 是从栈中拷贝到堆中 block在 ARC的情况下,一般情况下,它是自动 copy 的, property...

  • 快速理解Block

    调用block 调用block方式block名称(参数) 注意点:1、声明block属性时,不同于其他数据类型+变...

  • Block注意点如下

    block同时具有函数和实力便来给你的性质,使用起来方便,代码整洁。 1)在块内改变外部变量的值时候,在外部变量前...

  • block及注意点

    Block是C语音级别和运行时放面的一个特征。Block封装了一段代码逻辑,也用{}括起,和标准C语音中的函数/函...

网友评论

      本文标题:问题:谈谈block使用时的注意点?

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