【发布时间】:2018-01-18 00:35:35
【问题描述】:
此代码类型会检查并编译,但随后会崩溃。如何将CGImage 保存到Data 以便稍后再次阅读。
let cgi: CGImage? = ...
var mData = Data()
let imageDest = CGImageDestinationCreateWithData(mData as! CFMutableData,
kUTTypePNG, 1, nil)!
CGImageDestinationAddImage(imageDest, cgi!, nil)
CGImageDestinationFinalize(imageDest)
最后一行崩溃了。控制台中的错误是:
2018-01-17 19:25:43.656664-0500 HelloPencil[2799:3101092] -[_NSZeroData
appendBytes:length:]: unrecognized selector sent to instance 0x1c80029c0
2018-01-17 19:25:43.658420-0500 HelloPencil[2799:3101092] *** Terminating app
due to uncaught exception 'NSInvalidArgumentException', reason:
'-[_NSZeroData appendBytes:length:]: unrecognized selector
sent to instance 0x1c80029c0'
从Data 到CFMutableData 的转换是 Xcode 推荐的,但可能是错误的。
【问题讨论】:
标签: swift swift4 cgimage cfdata