ios - Swift xCode 6.4 - 在第二个 View Controller 中使用由 TableView Controller 生成的变量

标签 ios swift variables viewcontroller

我整天都在用谷歌搜索一个可能很简单的问题,但我没答对。希望有人能帮助我。

我有一个 tableview Controller ,其中一个原型(prototype)单元格包含三个自定义标签。 当我运行该应用程序时, TableView Controller 将生成大约 150 个 TableView 单元格,其中的内容从一个 csv 文件中解析。

当我点击这些单元格之一时,用户将被转发到第二个 View Controller ,显示他的单元格选择的一些额外信息文本。 在用户单击 tabelview 单元格的同时,一个变量将更新为相应的 tableview-row-number(例如,最后一个 tableview 单元格为 150。 现在我想将此变量用作第二个 View Controller 中显示的文本中的引用文本。

tableview controller 中的变量是“rowSelectedFromList”,将通过以下代码设置:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    var rowSelectedFromList: String

    rowSelectedFromList = rowOfItems[indexPath.row].customlabel3!
    println(rowSelectedFromList)
}

“println”只是为了检查它是否正常工作,确实如此。

问题是如何在第二个 View Controller 中使用变量“rowSelectedFromList”?

感谢您的帮助,谢谢!

最佳答案

您可以像这样在 prepareForSegue 中添加自定义逻辑:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let controller = segue.destinationViewController as? YourSecondController,
            indexPath = tableView.indexPathForSelectedRow() {
        controller.someVariable = rowOfItems[indexPath.row].customlabel3!
    }
}

将 YourSecondController 替换为第二个 View Controller 的类名。

不要忘记为您的 UITableView 创建 IBOutlet 并将其命名为 tableView

关于ios - Swift xCode 6.4 - 在第二个 View Controller 中使用由 TableView Controller 生成的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591069/

相关文章:

ios - UIDocumentBrowserViewController 与 UIDocumentPickerViewController 有什么区别?

ios - 从 Apple 托管的应用内购买下载内容

json - 如何在 Swift 中解码 HTML 实体?

javascript - js 变量在两个事件中的行为不同

javascript - 使用 Javascript 根据路径名交换图像/超链接

php - MYSQL - 按 ID 获取下一条和上一条记录 - 用于超链接的 HTML

objective-c - NSDictionary 选择器错误 NSString 带空格

ios - 在文本字段中居中对齐占位符

ios - Swift 3.0 委托(delegate)协议(protocol)不起作用

swift - 无法快速增加数字