У меня возникла путаница относительно преобразования моста между основным фундаментом и фундаментом. Насколько я знаю, __bridge convert CF <--> OBJECTIVE- C без передачи права собственности и должен освободить объект после завершения работы с объектом, если имя API содержит "Create / Copy".
CFStringRef strRef = CFStringCreateWithCString(NULL, "Hello World ", kCFStringEncodingUTF8);
NSString *mystr = (__bridge NSString *)strRef;
CFRelease(strRef);
Моя путаница ниже фрагмент кода во время __bridge_transfer / CFBridgingRelease с передачей права собственности. Требуется ли явно вызывать оператор выпуска?
CFStringRef strRef = CFStringCreateWithCString(NULL, "Hello World ", kCFStringEncodingUTF8);
NSString *mystr = (__bridge_transfer NSString *)strRef;
CFRelease(strRef);
Но приведенный ниже код не требуется и передать право собственности.
NSString *mystr = (__bridge_transfer NSString *)CFStringCreateWithCString(NULL, "Hello World ", kCFStringEncodingUTF8);