【问题标题】:How should I navigate from search results to a detail view?我应该如何从搜索结果导航到详细视图?
【发布时间】:2011-02-15 02:40:53
【问题描述】:

应用程序的工作方式非常标准。我有一个主表视图,其中包含包含图像和文本的单元格。当我点击一个项目时,我会被带到一个由 UIWebView 组成的相应详细视图。可以搜索该表。当我搜索表格时,结果正确显示。但是,当我从搜索结果中点击一个项目时,我没有被带到正确的详细视图。相反,我会在搜索之前转到该行中存在的项目的详细视图。

我需要调整/添加什么,以便在选择搜索结果时显示正确的详细视图?

抱歉没有发布代码;如果您需要特别查看某些内容,请告诉我。谢谢!

已更新代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MObjectDetailVC *mObjectDetailVC = [[MObjectDetailVC alloc] initWithNibName:@"MObjectDetailVC" bundle:nil];
mObjectDetailVC.detailURL = [[NSURL alloc] initWithString:[[mcData objectAtIndex:indexPath.row] url]];
mObjectDetailVC.title = [[mcData objectAtIndex:indexPath.row] name];
[self.navigationController pushViewController:mObjectDetailVC animated:YES];
[mObjectDetailVC release];
}

【问题讨论】:

  • 发布您的 didSelectRowAtIndexPath 代码
  • 这样做了,我可以看到这段代码可能是问题所在。我该如何补救?

标签: iphone search uitableview detailsview


【解决方案1】:

您应该在获得搜索结果后重新调整您的数组。有两个数组:一个数组包含整个数据,一个 searchResultArray 包含来自搜索查询的数据。如果您不进行搜索,请将 searchResultArray 保留为 NULL,并按照您当前基于原始数组的操作继续显示结果。但是,一旦完成搜索并获得一些结果,请在 searchResultArray 中填充相同的结果。现在,当您单击特定行时,在 didSelectRow 方法中检查 searchArray 是否为空。如果它不为空,则使用此 searchResultArray 填充详细信息视图。

【讨论】:

    【解决方案2】:

    可能是您正在从旧数组中检索值。

    检查您的代码是否从搜索的数组中获取值。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
       [searchArray objectAtIndex:indexPath.row];
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2020-08-04
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      相关资源
      最近更新 更多