一、* Core Foundation与objective-c Object进行交换 *对于Core Foundation与objective-cObject进行交换时,需要用到的ARC管理机制有:(1) (__bridge_transfer) op or alternatively CFBridgingRelease(op) is used to consume a retain-count of...
分类:
移动开发 时间:
2015-03-02 22:32:19
阅读次数:
224
现在已经凌晨了,但是我却没发觉困。
琢磨了好久的东西,终于顿悟。
这篇是其中的一个点,记录下来,以备后续查阅!
说到__bridge,就不得不说Objective-C和Core Foundation对象之间的关系。
当你在 Objective-C 和 Core
Foundation 对象之间进行转换时,就需要使用 Bridge
cast。
今天的多数应用很少需要使用 Co...
分类:
其他好文 时间:
2015-01-22 09:30:36
阅读次数:
195
__bridge只做类型转换,但是不修改对象(内存)管理权;__bridge_retained(也可以使用CFBridgingRetain)将Objective-C的对象转换为Core Foundation的对象,同时将对象(内存)的管理权交给我们,后续需要使用CFRelease或者相关方法来释放对...
分类:
其他好文 时间:
2015-01-04 15:11:49
阅读次数:
182
//内连,使用情况较多下使用,
static
inline NSString * GetUUIDString()
{
CFUUIDRef
uuidObj = CFUUIDCreate(nil);
NSString
*uuidString = (__bridge_transfer
NSString*)CFUUIDCreateString(nil, uui...
分类:
移动开发 时间:
2014-12-29 16:49:24
阅读次数:
184
简介:__bridge:实现id类型与void*类型的相互转换;
__bridge_retained:类型被转换时,其对象的所有权也将被变换后变量所持有
__bridge_transfer:类型被转换时,其对象的所有权也将被释放
__bridge_retained 是编译器替我们做了 retain 操作,而 __bridge_transfer 是替我们做了 release1。
详情:
...
分类:
移动开发 时间:
2014-12-29 12:03:55
阅读次数:
181
最近再看CoreText其中有很多地方需使用了__bridge或者CFBridgingRelease 作为菜鸟不太理解什么意思于是百度了下大体回答是这样的CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Found...
分类:
其他好文 时间:
2014-12-23 19:24:23
阅读次数:
129
第一、__bridge_retained的使用
__bridge_retained转换可使要转换的变量也持有所赋值的对象
void *p=0;
{
id obj=[[NSObject alloc] init];
p=(__bridge_retained void*)obj;
}
NSLog(@"clas...
分类:
其他好文 时间:
2014-12-04 21:44:39
阅读次数:
153
Core Foundation 框架
Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:
群体数据类型 (数组、集合等)
程序包
字符串管理
日期和时间管理
原始数据块管理
偏好管理
URL及数据流操作
线程和Ru...
分类:
移动开发 时间:
2014-11-07 09:56:09
阅读次数:
202
Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管...
分类:
其他好文 时间:
2014-08-05 10:42:39
阅读次数:
381
最近碰到了CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge,__bridge_retained和__bridge_transfer三个转换关键字。根...
分类:
其他好文 时间:
2014-08-04 17:11:57
阅读次数:
179