Passing data between View Controllers (Swift)(在视图控制器之间传递数据(SWIFT))
问题描述
我正在尝试将图像从一个视图传递到另一个视图,但我的代码似乎不起作用-它会将用户带到新视图,但图像不会同时传输。如有任何帮助,将不胜感激!
这里有一个名为Post的按钮,它将用户带到一个新的视图。
@IBAction func postButton(sender: AnyObject) {
performSegueWithIdentifier("toBrowsePage", sender: nil)
}
然后,在另一个视图控制器的另一个文件中...
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toBrowsePage" {
var itemToAdd = segue.destinationViewController as! ListPage
itemToAdd.postingImage.image = browsingImage.image
}
}
推荐答案
不要像这样直接从另一个ViewController
分配图像:
itemToAdd.postingImage.image = browsingImage.image
只需将imageName
传递给下一个View控制器,并在nextViewController
中创建一个实例以保存此映像名称,然后您可以使用其他ViewController
的ViewDidLoad
方法为该映像赋值。
考虑这个例子:
您可以这样传递ImageName
:
itemToAdd.imageName = "YourImageName"
在nextViewController
中创建一个包含以下内容的实例String
:
var imageName = ""
在ViewDidLoad
方法中:
postingImage.image = UIImage(named: imageName)
希望这将有所帮助。
这篇关于在视图控制器之间传递数据(SWIFT)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!