ios - 如何重置初始 ViewController 的状态?

标签 ios swift uiviewcontroller camera segue

我有 2 个 ViewController:VC1VC2。在 VC1 我有:

 @IBAction func cliclOnBtn(_ sender: UIButton) {
          CameraController.takePicture()

    }
...



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

        print("didFinishPickingMediaWithInfo", picker.sourceType)
        let _image = (info[UIImagePickerControllerOriginalImage] as! UIImage)
        ImageView.image = _image
        Images.append(_image)
}

VC2 中,我正在传递 _image 数组,但是当我尝试返回 VC1 时,通过再次单击添加来自相机的照片.如何重置数据?按下后退按钮时如何重置一组照片?

最佳答案

可以在VC1中实现viewWillAppear,然后移除图像Array的所有元素。这样,当您返回 VC2 时,VC1 的图像数组将为空。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    Images.removeAll()
}

顺便说一句,考虑重命名您的实例变量,将初始字符小写,这是一个很好的做法。

关于ios - 如何重置初始 ViewController 的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119545/

相关文章:

ios - 单击表格 View 单元格上的按钮单击单元格而不是按钮

ios - 具有多个 bundle ID 的 FaSTLane 匹配与多个团队

ios - AR中替代SCNNode的最佳方式

ios - UIPageViewController 从子 UIViewController 上的控件过渡

ios - 使用 facebook-ios-sdk 登录时如何访问 appDelegate 中的另一个 UIViewController?

iphone - 有没有办法从 UIView 捕获 WillRotateToInterfaceOrientation 事件?

objective-c - 将XML嵌入到iOS应用程序

ios - 为客户上传或只是存档应用程序

swift - 如何检查 "Copied text is from which Application"?

swift - 为什么我的声音让我的游戏在 Swift Spritekit 中滞后?