__bridge,__bridge_retained和__bridge_transfer说明
来源:互联网 发布:足球鞋 知乎 编辑:程序博客网 时间:2024/05/16 08:46
1.在非arc的情况下id和void *可以互相转换
id p = nil;
void * = p; (no problem)
2.在arc的情况下id和void *不能互相转换
id p = nil;
void * = p; (error)
需要__bridge进行转换
id obj = [[NSObject alloc] init];
void *p = (__bridge void *)obj;
id o = (__bridge id)p;
__bridge_retained 在转换的同时引用计数加1
id obj = [[NSObject alloc] init];(引用计数为1)
void *p = (__bridge_retained void *)obj;(引用计数为3)
__bridge_transfer 在转换的同时释放当前的对象
id obj = [[NSObject alloc] init];(引用计数为1)
void *p = (__bridge_transfer void *)obj;(引用计数为1)
0 0
- __bridge,__bridge_retained和__bridge_transfer说明
- __bridge,__bridge_transfer和__bridge_retained
- __bridge,__bridge_transfer和__bridge_retained
- __bridge,__bridge_transfer和__bridge_retained
- __bridge,__bridge_transfer和__bridge_retained详解
- IOS __bridge,__bridge_transfer和__bridge_retained
- IOS __bridge,__bridge_transfer和__bridge_retained .
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- __bridge,__bridge_transfer和__bridge_retained详解
- 高精度运算
- Android实战技巧:多线程AsyncTask(版本不同,有点差异)
- androidstudio快捷键
- Delphi字符串中添加特殊字符及ASCII码表
- gulp详细入门
- __bridge,__bridge_retained和__bridge_transfer说明
- spring3.2.0 quartz-2.2.1 整合 实现动态定时任务
- springmvc+mybatis项目中的统一异常处理器
- 使用 Apache Pig 处理数据
- 遗传算法-变异算法
- mysql物理备份
- native activity 下调用java
- 【程序3】打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
- 图像的小波变换