Я работаю через учебник Project10 и пытаюсь преобразовать его в Swift 3.0, когда я иду. Это обычно прямой случай использования UIImagePickerController, чтобы выбрать изображение, а затем сохранить его в Справочник Документов.Swift 3.0 Запись двоичных данных изображения с записью (toFile: atomically :)
Я получаю ошибку на этой линии:
jpegData.write(toFile: imagePath, atomically: true)
Начавшаяся жизнь, как это:
jpegData.writeToFile(imagePath, atomically: true)
Ошибка хочет заменить мои аргументы:
jpegData.write(to: imagePath, options: true)
Я уверен, что это не то, что я хочу, и это приводит к дальнейшим ошибкам String/URL. Эти два метода в полном объеме:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
var newImage: UIImage
if let possibleImage = info[UIImagePickerControllerEditedImage] as? UIImage {
newImage = possibleImage
} else if let possibleImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
newImage = possibleImage
} else {
return
}
let imageName = NSUUID().uuidString
let imagePath = getDocumentsDirectory().appendingPathComponent(imageName)
if let jpegData = UIImageJPEGRepresentation(newImage, 80) {
jpegData.write(toFile: imagePath, atomically: true)
}
dismiss(animated: true, completion: nil)
}
func getDocumentsDirectory() -> NSString {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
return documentsDirectory
}
Я просто путаюсь со строками, NSStrings и URL?
Я думаю, что один из методов: '.write (to:, atomically:, encoding:)' ... вы можете использовать это как '.write (to: imagePath, atomically: true, encoding: .utf8)' –
Когда Я пытаюсь, чтобы я получил ошибку: дополнительный аргумент «кодирование» в вызове. Я видел этот метод в документах ранее, но забыл попробовать. Спасибо, в любом случае. – Magnas