Ответ 1
CFTypes автоматически управляются, если явно не указано как неуправляемое.
Согласно документации. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html
Объекты Core Foundation, возвращенные из аннотированных API, автоматически управляются памятью в Swift - вам не нужно самостоятельно запускать функции CFRetain, CFRelease или CFAutorelease. Если вы возвращаете объекты Core Foundation из собственных C-функций и методов Objective-C, аннотируйте их с помощью CF_RETURNS_RETAINED или CF_RETURNS_NOT_RETAINED. Компилятор автоматически вставляет вызовы управления памятью, когда компилирует код Swift, который вызывает эти API. Если вы используете только аннотированные API, которые не косвенно возвращают объекты Core Foundation, вы можете пропустить оставшуюся часть этого раздела. В противном случае продолжайте изучать работу с неуправляемыми объектами Core Foundation.
Когда Swift импортирует API, которые не были аннотированы, компилятор не может автоматически управлять памятью возвращенных объектов Core Foundation. Swift обертывает возвращаемые объекты Core Foundation в неуправляемой структуре.
Неуправляемые типы будут иметь подпись типа
func StringByAddingTwoStrings(CFString!, CFString!) -> Unmanaged<CFString>!
CGBitmapContextCreate
имеет подпись типа
func CGBitmapContextCreate(...) -> CGContext!
Следовательно, он управляется автоматически быстрым.