gpt4 book ai didi

ios - 如何在不使用 segue 的情况下在 View Controller 之间传递图像

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:21 25 4
gpt4 key购买 nike

我收到一个错误:

Thread 1:EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP,subcode=0x0)

同时尝试将从照片库中选择的图像传递给另一个 View Controller 。

源 View Controller -

@IBAction func myButtonTapped(_ sender: UIButton) 
{
let secondVC = storyboard?.instantiateViewController(withIdentifier: "secondVC") as! secondVC
secondVC.passedVName = VNameTextField.text!
secondVC.passedCcName = DropTextBox.text!
secondVC.passedVImage = VImageView.image!
navigationController?.pushViewController(secondVC, animated: true)

}

目标 View Controller -

 class secondVC: UIViewController 
{
@IBOutlet weak var DisplayPassedImage: UIImageView!
@IBOutlet weak var ccNameDisplayLabel: UILabel!
@IBOutlet weak var VNameDisplayLabel: UILabel!
var passedVName = ""
var passedCcName = ""
var passedVImage = UIImage()
override func viewDidLoad()
{
super.viewDidLoad()
VNameDisplayLabel.text = passedVName
ccNameDisplayLabel.text = passedCcName
DisplayPassedImage.image = passedVImage // Error- Thread 1:EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP,subcode=0x0)
}
}

注意“PassedVName”和“passedCcName”数据已成功传递到目标 ViewController。如果我尝试传递“passedVImage”,我会收到错误消息。

最佳答案

您可以使用 NotificationCenter 将操作/消息传递给任何 viewController。在这里,您需要在 AppDelegate 中获取 UIImage 对象(意味着全局),以便您可以将它传递到任何地方。

例子
1) 你在第一个VC
2) 在第一个 VC 中选择图像并将此图像添加到您在 AppDelegate
中拍摄的图像对象中3) 在 firstVC 中发布您要通过操作的通知
4) 在你的 SecondVC 上添加 Observe
5) 您可以从AppDelegate 对象(全局对象)中获取图像。

否则你可以使用协议(protocol)

关于ios - 如何在不使用 segue 的情况下在 View Controller 之间传递图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41362876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com