我正在开发一个应用程序,该应用程序可以在不使用IOS客户端的情况下发送邮件。 我决定使用 mailcore2 异步 api。 现在我可以发送电子邮件,但我想向其添加附件,我实际上正在尝试单击按钮,打开图库,选择图片并获取其路径。 我正在尝试这段代码,但第2行和第7行出现错误,我的">
让图像网址
和
让图像
":
"不能将类型为'[NSObject:AnyObject]'的值下标,并带有 类型为"UIImagePickerController.InfoKey"的索引
这是代码:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
let imageURL = info[UIImagePickerController.InfoKey.referenceURL] as NSURL
let imageName = imageURL.path!.lastPathComponent
let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first as! String
let localPath = documentDirectory.stringByAppendingPathComponent(imageName)
let image = info[UIImagePickerController.InfoKey.originalImage] as UIImage
let data = UIImagePNGRepresentation(image)
data.writeToFile(localPath, atomically: true)
let imageData = NSData(contentsOfFile: localPath)!
let photoURL = NSURL(fileURLWithPath: localPath)
let imageWithData = UIImage(data: imageData)!
picker.dismiss(animated: true, completion: nil)
}
你使用的是旧版本的 Swift,来获取图片网址:
let imageURL = info[UIImagePickerControllerReferenceURL] as NSURL
我建议你将来升级到 Swift 5.0