在searchResult之后从TableView传递数据

时间:2013-06-09 11:49:03

标签: objective-c search nsstring tableview searchbar

(使用X-Code 4.6)

我的TableView有问题:

我在那里喜欢100个名字。

点击一个,它会转到带有按钮和标签的detailView。 一切正常,直到我使用搜索栏。

当然,在搜索结果中,第85行的名称位于第1行,它传递第1行的数据。

是否有可能以某种方式永久地将第85行的所有数据(字符串)连接在一起?

我有4个字符串:Name,CellPhoneNumber,BuisNumber和Mail。

名称转到标签,其余是按钮的变量。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"toDetail"]) {
DetailViewController *destViewController = segue.destinationViewController;

    NSIndexPath *indexPath = nil;

    if ([self.searchDisplayController isActive]) {
        indexPath = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow];
        destViewController.nameIdentity = [searchResults objectAtIndex:indexPath.row];

    }
    else {
        indexPath = [self.tableView indexPathForSelectedRow];
        destViewController.nameIdentity = [nameData objectAtIndex:indexPath.row];
        destViewController.cellNumberIdentity = [cellNumberData objectAtIndex:indexPath.row];
        destViewController.buisNumberIdentity = [buisNumberData objectAtIndex:indexPath.row];
        destViewController.mailIdentity = [mailData objectAtIndex:indexPath.row];

} }
}

我确实为标签找到了正确的名称,但是如何得到其余的。

1 个答案:

答案 0 :(得分:0)

如果我理解你,那么创建课程会更好人。它将有4个参数name,mail,cellNumber,businessNumber。 那么你将需要2个数组fullPersonData和currentSearchPersonData。 因此,下次您将进行搜索时,您将需要: 1)在fullPerson数组中搜索搜索词并将它们复制到currentSearchData 2)使用currentSearchData数组重新加载表(您可以使用像isSearch这样的bool标志来触发tableView委托从所需数组中获取数据)

之后,没有必要在搜索之前考虑单元格的哪一行,只需从neded数组中获取objectAtIndex并将其传递给detailView。和detailView将自己填充))