j'ai le code suivant qui transforme un CGImage
en NSData
:constantes CGImageDestinationCreateWithData dans iOS
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
Le code compile bien sous Mac OS, mais kUTTypePNG
est non défini dans iOS. La valeur réelle de la constante est "public.png"
, et évidemment, en remplaçant la constante par cette valeur, iOS peut compiler le code correctement. Mais éviter les chaînes/nombres magiques est la raison pour laquelle nous utilisons des constantes en premier lieu - Y a-t-il une constante alternative dans Swift-iOS?