преобразование моста между основным фундаментом и фундаментом - PullRequest
0 голосов
/ 07 мая 2020

У меня возникла путаница относительно преобразования моста между основным фундаментом и фундаментом. Насколько я знаю, __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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...