У меня есть следующий код, который превращает CGImage
в NSData
:CGImageDestinationCreateWithData константа в прошивкой
import Foundation
import CoreGraphics
import ImageIO
// ... snip ...
let data = NSMutableData()
if let dest = CGImageDestinationCreateWithData(data, kUTTypePNG, 1, nil), let image = self.backgroundImage {
CGImageDestinationAddImage(dest, image, nil)
if CGImageDestinationFinalize(dest) {
return data as Data
}
}
return nil
Код отлично компилируется в Mac-OS, но kUTTypePNG
не определена в прошивке. Фактическое значение константы - "public.png"
, и, очевидно, замена константы на это значение позволяет iOS компилировать код в порядке.
Но, избегая магических строк/чисел, мы используем константы в первую очередь - есть ли альтернативная константа в Swift-iOS?