从另一个视图控制器更新/更改数组值

编程入门 行业动态 更新时间:2024-10-28 18:29:11
本文介绍了从另一个视图控制器更新/更改数组值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

数据模型

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++

        })
    }
}

根据该代码,假设我有 5 个数据:

from that code, let's say i have 5 datas:

dataImage(userId: "img1", value: 1.0, photo: images,croppedPhoto:图片)dataImage(userId: "img2", value: 1.0, photo: images,croppedPhoto:图片)dataImage(userId: "img3", value: 1.0, photo: images, croppedPhoto:图片)dataImage(userId: "img4", value: 1.0, photo: images,croppedPhoto:图片)dataImage(userId: "img5", value: 1.0, photo: images,croppedPhoto:图片)

我从视图控制器中选择img3"并成功将其移动到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
    }
 }

croppedViewController中,我裁剪了img3"图像.

in croppedViewController, i crop the "img3" image.

我的问题是,我希望在 datas["img3"] 中更新裁剪后的图像并将其移回 viewController.如何做到这一点?

My question is, I want that cropped image to be update in datas["img3"] and move it back to viewController. how to do this?

推荐答案

看,你有数组 datas.您可以执行以下操作:

Look, you have the array datas. You can do the next:

var datas = [DataImage]()
class ViewController: UIViewController {
    override func viewDidLoad() {
        // fill your array with append or addObject
        print(datas) // without "self."
}

这篇关于从另一个视图控制器更新/更改数组值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-05-01 11:12:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1408830.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   视图   控制器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!