美文网首页
block重新赋值后判断是否相等

block重新赋值后判断是否相等

作者: 王家薪 | 来源:发表于2017-09-07 16:01 被阅读18次
@property (nonatomic, copy)  void(^block)();

- (void)viewDidLoad {
    [super viewDidLoad];
    self.block = ^{
        NSLog(@"123");
    };
    void * a = (__bridge void *)(_block);
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        if (a == _block) {
            self.block();
        }
    });
    self.block = ^{
        NSLog(@"456");
    };
}

不输出

@property (nonatomic, copy)  void(^block)();

- (void)viewDidLoad {
    [super viewDidLoad];
    self.block = ^{
        NSLog(@"123");
    };
    void * a = (__bridge void *)(_block);
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        if (a == _block) {
            self.block();
        }
    });
}

输出 123

相关文章

  • block重新赋值后判断是否相等

    不输出 输出 123

  • Java 中==与===的区别?

    =是赋值运算,而==判断值是否相等,===是判断的是值及类型是否完全相等 首先,== equality 等同,==...

  • day7-拷贝相关

    一.==和is ==——判断两个数据的值是否相等is——判断地址是否相等python数据存储: 给变量赋值的时候,...

  • day7 字典元组容器类型基操

    计算机基础随笔 == :判断两个数据的值是否相等 is:判断地址是否相等 python数据存储: 1.给变量赋值的...

  • 第三章 if语句

    一、条件测试 1.检查是否相等(“=”是赋值,“==”是判断值是否相等) 2.检查相等时不考虑大小写 在Pytho...

  • Python学习——if语句

    python学习——if语句 在Python中语法去其他语法相似, =:赋值; == :判断是否相等【返回布尔值】...

  • python集合操作

    判断两个list是否相等 判断两个tuple是否相等 判断两个set是否相等 list转set list转tupl...

  • java比较两个list是否相等

    判断两个list是否相等:先判断list的个数是否相等,然后判断是否相互包含。public boolean equ...

  • 《C陷阱与缺陷》个人心得

    第一章 词法“陷阱” 1.1 =不同于== 1,=是赋值运算符;==是比较运算符,用来判断两个变量是否相等,相等返...

  • python笔记day6

    补充: == 和 is == --- 判断两个数据的值是否相等 is --- 判断地址是否相等 python数...

网友评论

      本文标题:block重新赋值后判断是否相等

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