【发布时间】:2015-02-22 01:57:17
【问题描述】:
这是表格视图:
public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var rowData: NSDictionary = self.tableData[indexPath.row] as NSDictionary
let too: AnyObject = rowData ["time"] as NSString
var name: String = rowData["time"] as String
var formattedPrice: String = rowData["date"] as String
var alert: UIAlertView = UIAlertView()
alert.title = name
alert.message = formattedPrice
alert.addButtonWithTitle("Ok")
alert.show()
println ("hi")
println (too)
}
我需要在另一个视图控制器中引用这些变量。我无法将上面的陈述放在此:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "segueTest") {
var svc = segue!.destinationViewController as secondViewController;
svc.toPass = textField.text
}
}
我正在尝试关闭单元格点击。 来自http://jamesleist.com/ios-swift-passing-data-between-viewcontrollers/
【问题讨论】:
-
不清楚您所说的“将上面的陈述放在这个里面”是什么意思。如果您的 segue 连接到一个单元格,那么 sender 参数(在 prepareForSegue:sender 中)将是该单元格,您可以使用表格视图方法 indexPathForCell: 来获取 indexPath。您根本不需要实现 didSelectRowAtIndexPath。
-
如何将 segue 连接到单元格点击?
-
右键单击(或控制单击)单元格,然后拖动到控制器(与任何 segue 相同)。
-
是否可以识别在一个类、另一个类或视图控制器中定义的共享实例值?
-
我不知道你们所说的“共享实例值”是什么意思。在任何情况下,您都无法在控制器之间建立 IBOutlet 连接。
标签: ios iphone uitableview swift