Jac*_*ack 11 iphone uitableview ios uistoryboardsegue swift
我遇到了UITableViewCells的问题.我将我的UITableView连接到API以填充我的单元格.
然后我创建了一个函数来抓取数据,indexPath.row以识别应该发送到的数组中的哪个JSON对象RestaurantViewController.
以下是我的小片段如何将"行点击"设置为全局变量.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
i = indexPath.row
}
Run Code Online (Sandbox Code Playgroud)
这是我的prepareForSegue()功能,应该把我的push-segue挂钩到RestaurantViewController.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let navigationController = segue.destinationViewController as UINavigationController
let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我如何设置我的segue UITableViewCell

这是我的结果,我试图点击这些单元格中的每一个但我不会被推到另一个viewController ...我也没有得到错误.这有什么不对?

尝试过无法解决的解决方案
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let vc = segue.destinationViewController as RestaurantViewController
//let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Run Code Online (Sandbox Code Playgroud)
erg*_*oon 20
问题是您没有正确处理数据.如果你查看你的currentResponse数组,你会看到它包含NSDictionaries,但在prepareForSegue你尝试将NSDictionary转换为NSArray时,会导致应用程序崩溃.
将data变量更改RestaurantViewController为NSDictionary并更改prepareForSegue为传递NSDictionary
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if let cell = sender as? UITableViewCell {
let i = redditListTableView.indexPathForCell(cell)!.row
if segue.identifier == "toRestaurant" {
let vc = segue.destinationViewController as RestaurantViewController
vc.data = currentResponse[i] as NSDictionary
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31644 次 |
| 最近记录: |