【发布时间】:2016-08-15 02:03:18
【问题描述】:
我有两个 viewController。第一个是 tableViewController,第二个是 webViewController。我想使用 segue 将数据从第一个 vc 传递到第二个 vc。出于这个原因,我希望从 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 到 prepareForSegue 方法的“chosenCellIndex”值。但我无法从 prepareForSegue 方法访问 selectedCellIndex 值。请帮忙。
类 NewsTableViewController: UITableViewController {
@IBOutlet var Alphacell: UITableView!
var chosenCellIndex = 0
//var temp = 0
var newspaper = ["A","B","C"]
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return newspaper.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Alphacell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = newspaper[indexPath.row]
// Alphacell.tag = indexPath.row
//Alphacell.addTarget(self, action: "buttonClicked:",forControlEvents: UIControlEvents.TouchUpInside)
return cell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
chosenCellIndex = indexPath.row
//println(chosenCellIndex)
// Start segue with index of cell clicked
//self.performSegueWithIdentifier("Alphacell", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let secondViewController = segue.destinationViewController as WebViewController
secondViewController.receivedCellIndex = chosenCellIndex
println(chosenCellIndex)
}
}
【问题讨论】:
-
我只需要将“chosenCellIndex”变量的值从 func tableView 获取到 func prepareForSegue。但是为什么 func tableView 和 func prepareForSegue 中“chosenCellIndex”的值不一样。这是我的问题。
标签: ios iphone swift uitableview segue