Data Model
class DataImage {
var userId: String
var value: Double
var photo: UIImage?
var croppedPhoto: UIImage?
init(userId:String, value: Double, photo: UIImage?, croppedPhoto: UIImage?){
self.userId = userId
self.value = value
self.photo = photo
self.photo = croppedPhoto
}
}
ViewController(tableView)
var photos = [DKAsset]() //image source
var datas = [DataImage]()
override func viewDidLoad() {
super.viewDidLoad()
self.loadDataPhoto()
}
func loadDataPhoto(){
var counter = 0
for asset in photos{
asset.fetchOriginalImageWithCompleteBlock({ image, info in // move image from photos to datas
let images = image
let data1 = dataImage(userId: "img\(counter+1)", value: 1.0, photo: images, croppedPhoto: images)
self.datas += [data1]
counter++
})
}
}
from that code, let's say i have 5 datas:
- dataImage(userId: "img1", value: 1.0, photo: images, croppedPhoto: images)
- dataImage(userId: "img2", value: 1.0, photo: images, croppedPhoto: images)
- dataImage(userId: "img3", value: 1.0, photo: images, croppedPhoto: images)
- dataImage(userId: "img4", value: 1.0, photo: images, croppedPhoto: images)
- dataImage(userId: "img5", value: 1.0, photo: images, croppedPhoto: images)
and i choose "img3" from view controller and successfully move it to cropviewController
CropViewController
var datasCrop: dataImage?
override func viewDidLoad() {
super.viewDidLoad()
if let datasCrop = datasCrop{
// beforeImage.image = datasCrop.photo
photoId.text = datasCrop.userId
self.cropView.imageToCrop = datasCrop.photo
}
}
@IBAction func handleCropButton(sender: UIButton)
{
if let croppedImage = cropView.croppedImage()
{
croppedImage //theCropped img3's cropped image
}
}
in croppedViewController, i crop the "img3" image.
My question is, I want that cropped image to be update in datas["img3"] and move it back to viewController. how to do this?