__bridge只做OC和CF對象之間的類型轉換不涉及對象所有權的轉化;
__bridge_transfer:用在將CF對象轉換成OC對象時,并且將CF對象的所有權交給OC對象,此時ARC就能自動管理該內存了。作用同"CFBridgeTransfer()"
__bridge_retained:用在將OC對象轉換成CF對象,并且將OC對象的所有權交給CF對象來管理,作用同"CFBridgingRetain() "。此時我們要在使用完CF對象后用CFRelease將其手動釋放。
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
CFURLRef ?urlRef = (__bridge_retained CFURLRef)url;
CFRelease(urlRef);