Objective-C对象与Core Foundation对象
来源:互联网 发布:端口的作用是什么 编辑:程序博客网 时间:2024/06/07 12:36
Core Foundation 对象主要使用在用C语言编写的Core Foundation 框架中,并引用计数的对象.与Objective-C对象区别很少.无论哪种框架生成的对象,一旦生成,便可在两种框架中使用.这种转换不需要额外的CPU资源,因而也被称为”免费桥”.
/****************************(1)***********************/
/*
CFTypeRef CFBridgingRetain(id X){
return (__bridge_retained CFTypeRef)X;
}
id CFBridgingRelease(CFTypeRef X){
return (__bridge_transfer id)X;
}
*/
CFMutableArrayRef cfObject = NULL;
{
id obj = [[NSMutableArrayalloc] init];
cfObject =CFBridgingRetain(obj);
//也可使用 cfObject = (__bridge_retained CFMutableArrayRef)obj;
/*
ARC机制在 Core Foundation框架是否有效?
输出打印如下:
retain count = 2
retain count = 1
由此可知ARC机制在Core Foundation下并不起作用
*/
CFShow(cfObject);
printf("retain count = %ld\n",CFGetRetainCount(cfObject));
}
printf("retain count = %ld\n",CFGetRetainCount(cfObject));
CFRelease(cfObject);
/****************************(2)***********************/
//使用__bridge转换来替代CFBridgingRetain或__bridge_retained转换
/*
cfObject = (__bridge CFMutableArrayRef)obj;
但使用__bridge并不改变对象的持有情况.
*/
- Objective-C对象与Core Foundation对象
- Objective-C对象与Core Foundation对象
- Objective-C对象和Core Foundation 对象
- Objective-C对象和Core Foundation 对象
- Objective-C 和 Core Foundation 对象相互转换
- Objective-C 和 Core Foundation 对象相互转换内存管理
- Core Foundation(C对象)与 Foundation(OC对象)之间的转换 理解
- Core Foundation(C对象)与 Foundation(OC对象)之间的转换 理解
- Core Foundation(C对象)与 Foundation(OC对象)之间的转换 理解
- core foundation与objective-c的区别
- Foundation对象与Core Foundation对象如何转换
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C和Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- 如何修改mysql配置中的字符集
- Best time to buy and sell stocks IV
- 乒乓球教程
- 斯坦福《机器学习》Lesson5感想———1、成学习算法
- [Leetcode 123, Hard] Best Time to Buy and Sell Stock III
- Objective-C对象与Core Foundation对象
- Java I/O 详解
- Android提高(17)——第一章 Http基础详解
- hdu 5305 Friends 【暴搜】
- 关于HTML和CSS的学习心得
- oracle断开用户连接并且重新创建用户
- hdu5289RMQ求区间最大最小值和单调队列维护区间最大最小值
- ARM上的浮点运算
- Flume(NG)架构设计要点及配置实践