iphone缓存问题-UISearchbar

iphone缓存问题-UISearchbar,iphone,objective-c,uinavigationbar,uisearchbar,Iphone,Objective C,Uinavigationbar,Uisearchbar,我有一个应用程序,它使用UISearchBar进行动态向前搜索 下面是它的功能..我有两个视图;A(列表)和B(细节) 在视图A上,我有一个UISearchBar,用户可以在其中键入任何内容,下面的列表将动态更新(使用复制的数组),即从外部web服务API更新 假设一个场景,用户必须键入“WORD” 他将从W开始 因此,列表将显示“WA”、“WB”、“WC”、“WD”等 现在他将输入第二个字母O(所以搜索词现在是“WO”) 因此,列表将显示“WO1”、“WO2”、“WO3”等 当用户键入WO并单

我有一个应用程序,它使用UISearchBar进行动态向前搜索

下面是它的功能..我有两个视图;A(列表)和B(细节)

在视图A上,我有一个UISearchBar,用户可以在其中键入任何内容,下面的列表将动态更新(使用复制的数组),即从外部web服务API更新

假设一个场景,用户必须键入“WORD” 他将从W开始 因此,列表将显示“WA”、“WB”、“WC”、“WD”等 现在他将输入第二个字母O(所以搜索词现在是“WO”) 因此,列表将显示“WO1”、“WO2”、“WO3”等

当用户键入WO并单击列表中的一个选项(如WO2)时,他将了解有关WO2的详细信息 他从那里点击返回…所以再次显示WO1,WO2,WO3

现在我的问题是……如果他现在点击WO1,即使列表中显示了WO1、WO2、WO3,……他也会看到关于“WA”的详细信息(即前一个列表中的第一项(即仅在键入“W”时)

因此,在前面的索引值上似乎有一些缓存,似乎。。。 你能帮我解决这个问题吗


我使用数组处理大多数事情。搜索结果、推送详细信息等请提供主列表数据源和UISearchDisplayController数据源的代码

似乎在
tableView:didSelectRowAtIndexPath:
中,您获取了错误的对象,并将其发送给了详细信息控制器

无论如何,您必须在列表视图控制器中的表视图之间切换,才能为indexPath获取正确的对象:

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    if (aTableView == self.searchDisplayController.searchResultsTableView) 
    {
        //  configure cell for object from filtered by keyword list
    }
    else
    {
        //  configure cell for object from unfiltered list
    }   
}

- (void)tabeView:(UITableVIew *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [self tableView:aTableView cellForRowAtIndexPath:indexPath];
    // get object according to cell and push it to details controller
}

您提供的代码与我的代码大致相同或几乎完全相同。问题是我始终没有获得错误的详细信息视图…它是不一致的。因此,有一次我可能获得正确的详细信息页面,第二次,完全不同。此问题的源代码将非常有用。您是如何让对象显示在筛选列表中的?我现在尝试了w有两种不同的方式,但仍然面临相同的问题;1.在应用程序委托中使用全局变量2.使用共享实例(单例)在这两种情况下,应用程序都会在列表/详细信息之间多次往返时崩溃…使用我上面提到的两种方式填充列表。我真的不知道现在该去哪里查找。请帮助我…您可以编辑您的问题以使源代码更具可读性吗?