【发布时间】:2020-08-09 21:38:22
【问题描述】:
我想在不使用 segue 的情况下将 UIimage 从 viewController 传递到另一个,并且我一直在寻找这个问题好几个星期。另外,我尝试使用 notificationCenter、delegate 和协议来做这件事,但它对我不起作用,所以请帮忙。
这是一个截图,描述了我想要做什么。
另外,这是我的 viewController 代码,当单击传递标签按钮时,我想从中传递雷神图像。
import UIKit
protocol UserChosePhoto {
func userHasChosen(image: UIImage)
}
class passingDataViewController: UIViewController {
@IBOutlet var Label: UILabel!
@IBOutlet var image1: UIImageView!
var image: UIImage? = nil
var delegate: UserChosePhoto? = nil
override func viewDidLoad() {
super.viewDidLoad()
image1.image = image
}
@IBAction func passLabel(_ sender: Any) {
func tapped() {
if (delegate != nil) {
self.delegate!.userHasChosen(image: image1.image!)
}
}
}
}
这是视图控制器的代码,我想在其中显示雷神图像。
import UIKit
class receivingDataViewController: UIViewController, UserChosePhoto {
@IBOutlet var label2: UILabel!
@IBOutlet var image2: UIImageView!
var usedImage: UIImage? = nil
override func viewDidLoad() {
super.viewDidLoad()
}
func userHasChosen(image: UIImage) {
usedImage = image
print("delegation: \(image)")
}
}
【问题讨论】:
-
你是如何从
passingDataViewController到receivingDataViewController的?你需要设置委托 -
@jawadAli 我该怎么做?我是 swift 的新手,阿里先生,请帮助我,因为我一直在寻找这个,我想要的正是将标签和图像从许多 viewControllers 传递给 TableViewCell,因为我正在构建一个商店应用程序,我想将它传递给购物车tableViewCell 所以,请帮帮我。
-
@jawadAli 请帮助 Ali 先生,至少我只想通过标签。
标签: arrays swift delegates protocols nsnotificationcenter