【问题标题】:How to send variable from array of struct objects via segue - Swift如何通过 segue 从结构对象数组发送变量 - Swift
【发布时间】:2015-02-26 08:39:59
【问题描述】:

我有一个表格视图,它在结构对象数组的每个单元格中显示多个文本标签和一个图像。数组中每个结构对象中的一个变量是一个字符串变量,其中包含第二张图像的文件名(单元格中最初没有显示)

我该如何编码,以便当用户点击表格中的一行时,第二张图片会通过 segue 发送到详细视图控制器中的图片视图中?

TableViewController 代码:

override func tableView(tableView: UITableView,
didDeselectRowAtIndexPath indexPath: NSIndexPath) {

    let courseSection = courseData[indexPath.row]

    var tipPic = courseSection.plan
    var courseImage : UIImage = UIImage(named: tipPic)!

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var destViewController : DetailViewController = segue.destinationViewController as DetailViewController

    destViewController.receivedPic = courseImage

DetailViewController 代码:

import UIKit

class DetailViewController: UIViewController {

@IBOutlet weak var bigTipPic: UIImageView!

var receivedPic: UIImage?

override func viewDidLoad() {
    super.viewDidLoad()

bigTipPic.image = receivedPic

}

非常感谢

【问题讨论】:

  • 这是所选行的字符串变量“plan”,我正在尝试转换为 UIImage 并发送到第二个视图控制器中的图像视图

标签: ios arrays swift struct xcode6


【解决方案1】:

像这样更改 prepareForSegue:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var destViewController : DetailViewController = segue.destinationViewController as DetailViewController

    let courseSection = courseData[tableView.indexPathForSelectedRow()!.row]

    var tipPic = courseSection.plan
    var courseImage : UIImage = UIImage(named: tipPic)!

    destViewController.receivedPic = courseImage
}

【讨论】:

  • 谢谢。不幸的是,构建失败。 'NSIndexPath?'没有名为“行”的成员
  • 只需添加!到 tableView.indexPathForSelectedRow!.row
  • 嗯,您必须添加更多信息。
  • 由于未捕获的异常 'NSUnknownKeyException' 导致应用程序终止,原因:'[ setValue:forUndefinedKey:]:该类不符合键 tipPic 的键值编码。'
  • 您确定,courseData 数组中有足够的数据吗?
猜你喜欢
  • 2010-12-28
  • 2020-09-04
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
  • 2018-11-09
  • 2021-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多