使用segue更改视图

时间:2014-09-19 18:24:58

标签: ios objective-c xcode cocoa-touch xcode-storyboard

我尝试创建我的第一个iPhone应用程序。我在Storyboard中创建了两个不同的视图。 “主”和“细节”视图。我将主视图嵌入到导航控制器中。主视图由带有自定义单元格的UITableView组成。

我点击单元格时会尝试显示详细信息视图。但是我不明白怎么做...我在单元格和细节视图之间创建了一个“视图细节”segue,但是当我点击单元格时,没有任何反应。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

将UITableView嵌入导航控制器。

答案 1 :(得分:0)

你的方法中是否有代码" didSelectRowAtIndexPath"在你的桌子上?

答案 2 :(得分:0)

您可以尝试使用此解决方案here

问题是您没有正确处理数据。如果你查看你的currentResponse数组,你会发现它拥有NSDictionaries但是在你的prepareForSegue中你试图将NSDictionary强制转换为NSArray,这将使应用程序崩溃。

将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
    }
}
}