我整天都在用谷歌搜索一个可能很简单的问题,但我没答对。希望有人能帮助我。
我有一个 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/