Objective-C:Objective-C 和 Core Foundation 对象相互转换的内存管理
Objective-C 和 Core Foundation 对象相互转换的内存管理 iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力: CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSString *)aCFString; 针对内存管理问题,ARC 可以帮忙管理 Objective-C 对象, 但是不支持 Core Foundation 对象的管理,所以转换后要注意一个问题:谁来释放使用后的对象。 本文重点总结一下类型转换后的内存管理。 一、非ARC的内存管理 倘若不使用ARC,手动管理内存,思路比较清晰,使用完,release转换后的对象即可。 //NSString 转 CFStringRef CFStringRef aCFString = (CFStringRef) [[NSString alloc] initWithFormat:@"%@", string]; //....