1

这是我的问题。我有数据通过 mySQL 传递到“第二个视图控制器”,目前效果很好。但是,当我选择任何 from ( UITableView) 单元格时,我目前无法打开新视图来显示数据。

我相信代码问题与

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
detailedViewController *productinfo = [self.storyboard instantiateViewControllerWithIdentifier:@"productDetails"];

//Retrieve current user array
foodProducts *currentProduct = [bakeryProductArray objectAtIndex:indexPath.row];
productinfo.productName = currentProduct.productName;
productinfo.productImage = currentProduct.productImgUrl;
productinfo.productDescription = currentProduct.productDescription;

[self.navigationController pushViewController:productinfo animated:YES];

}

还有其他人使用笔尖而不是情节提要来解决这个问题。

有人可以指出我哪里出错了或者我从根本上错过了什么吗?

(我有另一个项目,它只与导航控制器完全配合。虽然这是我尝试与标签栏导航一起使用的第一个项目)。

4

2 回答 2

0
try this .....

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Decriptionview *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Decription"];//@"Decription" is Storybord Id of UiViewController of Decriptionview
    detail.wndecDecription=[SortedDecription1 objectAtIndex:indexPath.row];
    detail.wndectitle=[SorttedTitle1 objectAtIndex:indexPath.row];
    detail.wndeclink=[SortedLink1 objectAtIndex:indexPath.row];
    detail.wndecdate=[SorttedDate1 objectAtIndex:indexPath.row];
    detail.imgeurl=[sorttedMainImage1 objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:detail animated:YES];

}
于 2013-07-13T06:06:21.957 回答
0

使用情节提要处理此问题的最佳方法是从您的 mainViewController 创建一个到详细视图的 segue。这可以来自您的实际单元或控制器。在您准备 segue 方法中,将对象传递给详细视图。这使用了 fetchedResultsController 但想法是一样的。获取选定的单元格并将对象传递给详细视图。

这是一个示例,说明如何在使用单元本身的 segue 时传递它。从 IB 中的 tableViewCell 创建一个 segue 用于“选择”。将该 segue 拖到您的 detailViewController 并将标识符设置为 ShowDetailView 然后添加以下 prepareForSegue 方法。

确保在您的 detailViewController 上有一个属性 (foodProduct),它将保存对您所选对象的引用。这就是您将从 mainViewController 传递的内容。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{
    if ([[segue identifier] isEqualToString:@"ShowDetailView"]) 
    {
        DetailViewController *detailViewController = [segue destinationViewController];
        foodProducts *currentProduct = [bakeryProductArray objectAtIndex:[self.tableView indexPathForSelectedRow]];
        detailViewController.foodProduct = currentProduct;
    }
}
于 2013-07-06T11:19:15.463 回答