iOS中bridge的使用
2016-08-06 本文已影响134人
luffy的笑容
- (void)viewDidLoad {
[super viewDidLoad];
//Fundation 是 CoreFundation 一种包装,在MRC底层数据结构是一摸一样
// 在MRC情况下 CF对象和NS对象是一个东西
// NSString *string = [[NSString alloc] initWithString:@"aaa"];
// CFStringRef cfstring = CFStringCreateCopy(NULL, "aaa");
// CFStringRef cfstring = string;
// NSString *string = cfstring;
// NSLog(@"%@",string);
// CFRelease(cfstring);
// [string release];
// __bridge 内存管理者不切换
// __bridge_transfer/CFBridgingRelease 内存管理者进行切换 把CF对象转换成NS对象,并且内存管理者切换
// __bridge_retained/CFBridgingRetain 内存管理者进行切换 把NS对象转换成CF对象,并且内存管理者切换
// ARC情况下 内存管理者
// NSString *string = [[NSString alloc] initWithString:@"aaa"];
CFStringRef cfstring = CFStringCreateCopy(NULL, NULL);
// CFStringRef cfstring = CFBridgingRetain(string);
NSString *string = CFBridgingRelease(cfstring);
}