美文网首页
9.22 __block

9.22 __block

作者: jayck | 来源:发表于2016-09-22 20:32 被阅读14次

__block

当我们需要在block里更改一个实例变量时,需要加上__block, 否则函数内变量不会发生改变。

 __block int a = 1;
    NSLog(@"&out_a = %p\n",&a);
    void (^demoBlc)(void) = ^ {
        a = 5;
        NSLog(@"_a = %p\n",&a);
        NSLog(@"a = %d",a);
    };
    demoBlc();

加强原生控件UI开头,NS开头的控件: BlocksKit
https://github.com/zwaldowski/BlocksKit

主要是节省代理delegate的方法。
可以直接在cocoapods搜索BlocksKit安装

使用时导入头文件

import <需要用到的文件夹名称.h>

Paste_Image.png

输入bk_自动就弹出了很多方法。是不是方便多了。

Paste_Image.png

ps:
早上出现的报错信息:

  1. duplicate symbol _b in:
  2. /ld: 1 duplicate(重复) symbol(声明) for architecture x86_64
  3. clang : error: linker command failed with exit code 1 (use -v to see invocatsion)

command + B Bulid过程
源文件
目标文件
链接 (上面的问题属于链接出错,重复声明)

相关文章

网友评论

      本文标题:9.22 __block

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