У меня есть подкласс UIDocument, который я хотел бы проверить код. Вот. Я сделал это правильно? Я думаю, что сделал, но я сталкиваюсь с проблемами. Я думаю, что этот код должен работать, пока я сохраняю файл в URL с расширением png.
UIDocument подкласс:
class ImageDocument: UIDocument {
var image: UIImage? = nil
override func load(fromContents contents: Any, ofType typeName: String?) throws {
guard let data = contents as? Data else {
throw DataFileError.fileReadFailed
}
image = UIImage(data: data)
}
override func contents(forType typeName: String) throws -> Any {
guard image != nil else {
throw DataFileError.badData
}
return image!.pngData() as Any
}
}
Код для сохранения подкласса UIDocument:
saveToURL.appendPathExtension("png")
let document = ImageDocument(fileURL: saveToURL)
document.image = image // UIImage object
document.save(to: document.fileURL, for: .forCreating) {
(success: Bool) in
print("document.save success - ", success)
print("document.fileURL=", document.fileURL)
}