If the ARC data type needs to be released, the arc data type is released.
// Foundation: OC
// Core Foundation: C Language
// The Data Types of the Foundation and Core Foundation frameworks can be converted to each other.
// NSString * str = @ "123"; // Foundation
// CFStringRef str2 = (_ bridge CFStringRef) str; // Core Foundation
// NSString * str3 = (_ bridge NSString *) str2;
// CFArrayRef ---- NSArray
// CFDictionaryRef ---- NSDictionary
// CFNumberRef ---- NSNumber
// Manually release all manually created data types in Core Foundation
// CFArrayRef array = CFArrayCreate (NULL, NULL, 10, NULL );
// CFRelease (array );
//
//
// CGPathRef path = CGPathCreateMutable ();
// CGPathRetain (path );
//
// CGPathRelease (path );
// CGPathRelease (path );
/**
All the words "create \ copy \ new \ retain" in the function name should be release when this data is not needed.
The data type of GCD does not need to be release in the ARC environment.
The data type of CF (Core Foundation) must be release in the ARC \ MRC environment.