Ios 在未筛选的NSMutableArray中查找筛选的NSMutableArray(来自searchResultsTableView)中所选行的等效索引

Ios 在未筛选的NSMutableArray中查找筛选的NSMutableArray(来自searchResultsTableView)中所选行的等效索引,ios,nsmutablearray,Ios,Nsmutablearray,如果我的问题不清楚,请提前道歉,因为我对iOS编程(以及一般编程)还不熟悉 现在,我有一个UITableView,它显示一个按字母顺序排列的NSMutableArray用户朋友的名字,类似于: friends: { @"Andy",@"Anand",@"Bob",@"Cat" }; friendsAges: {@"25",@"23",@"30",@"22"}; 我还有另一个NSMutableArray,它保存用户朋友的匹配年龄,这是用户从未看到过的,但在用户选择朋友的名字后会传递给前一个视图

如果我的问题不清楚,请提前道歉,因为我对iOS编程(以及一般编程)还不熟悉

现在,我有一个
UITableView
,它显示一个按字母顺序排列的
NSMutableArray
用户朋友的名字,类似于:

friends: { @"Andy",@"Anand",@"Bob",@"Cat" };
friendsAges: {@"25",@"23",@"30",@"22"};
我还有另一个
NSMutableArray
,它保存用户朋友的匹配年龄,这是用户从未看到过的,但在用户选择朋友的名字后会传递给前一个视图控制器。此ages数组类似于:

friends: { @"Andy",@"Anand",@"Bob",@"Cat" };
friendsAges: {@"25",@"23",@"30",@"22"};
我的问题是,如果我在朋友姓名的
UITableview
中添加了
searchBar
,如果用户从过滤数组
searchResultsTableView
中选择了一个姓名,我如何确保将相应的年龄对象发送回上一个视图控制器

例如,如果没有搜索栏,选择“Bob”也会将“30”发送到上一个控制器。但是如果用户输入“bo”,并且在过滤的
搜索结果表视图中只显示Bob,那么年龄“25”将被发送到前一个控制器b/c,这是第一个索引

这是我的错误代码:

if (tableView == self.searchDisplayController.searchResultsTableView) {

    NSString *theFriend = [_filteredFriendArray objectAtIndex:indexPath.row];

    // not sure what I should use instead for the _filteredFriendArray below
    NSString *theFriendAge = [_filteredFriendArray objectAtIndex:indexPath.row];

    [self.delegate friendPickerViewController:self
                              didSelectFriend:theFriend
                    didSelectFriendAge:theFriendAge];

} else { //if not using search bar and seeing filtered search results
    NSString *theFriend = [friends objectAtIndex:indexPath.row];
    NSString *theFriendAge = [friendsAge objectAtIndex:indexPath.row];

    [self.delegate friendPickerViewController:self
                              didSelectFriend:theFriend
                    didSelectFriendAge:theFriendAge];
}
我觉得使用NSDictionary可能比尝试将过滤搜索视图的索引匹配回主数组更容易,但我不确定如何最好地做到这一点


任何帮助都将不胜感激

你说得对,使用字典更容易。每个人都可以用{@“姓名”:“斯蒂芬·霍金”,“年龄”:70}这样的词典来表示。使用[personDict objectForKey:@“name”]填充您的friends表视图,并在选择时获取[person objectForKey:@“age”]的值,并将其传递回上一个视图控制器

您要使用的不是词典,而是一组词典。你不知道怎么做什么?做一本字典?制作一系列字典?在表视图中使用字典数组?如果不清楚,请发表评论,我会尽力提供帮助。我会尝试一下,看看它会把我带到哪里。非常感谢。