KVC将多个键的值添加到NSMutableArray

时间:2013-12-19 16:43:49

标签: ios objective-c uitableview

我想在name中显示lastNameUITableViewCell。我有一个包含大量数据的数组,我从数据库中检索,几乎所有我需要的是在数组中,诀窍是过滤并显示我想要的结果。

我有以下代码来过滤searchBar上输入的内容并添加到NSMutableArray

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"usuario.username contains [cd] %@", searchText];
NSArray *filtroUsuario = [name filteredArrayUsingPredicate:predicate];
searchResults = [filtroUsuario valueForKeyPath:@"@distinctUnionOfObjects.usuario.nome"];

我使用@distinctUnionOfObjects因为我正在过滤的对象不是user个对象,因此我想检索user个值,因为有些对象指向相同的{{1}我得到重复的user s。

将信息放在name上的代码是这样的:

UITableView

一切正常。我的麻烦是,现在我想在单元格上再显示一个键,因此键路径为cell.textLabel.text = searchResults[indexPath.row]; 。我如何将两个值放在一起?

我尝试过玩这条线:

usuario.sobrenome

得到了一些有趣的结果,但不是我期待的结果。

1 个答案:

答案 0 :(得分:1)

看起来您应该能够使用@distinctUnionOfObjects.usuario,因此您的结果是user个对象的数组(或其他具有您需要的键的对象)。然后在表格视图单元格设置中执行:

id user = searchResults[indexPath.row];
cell.textLabel.text = [user valueForKey:@"nome"];
cell.otherTextLabel.text = [user valueForKey:@"sobrenome"];