这可能是许多现有问题的重复,其中之一是: 这个
或到目前为止我搜索过的其他链接。
我正在开发一个应用程序,我在其中显示人员信息,例如他们的位置、姓名、图像、性别、电话号码等。
我通过 xmls 获取这些数据。从 Parsing 我输入我的 NSMutableArray 并在我的表视图上显示详细信息。
我想对这个数组中的人名应用搜索。
我如何从这些获得人名?
这是我正在使用的代码:
在表视图中显示详细信息:
if (cell == nil)
{
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCellDetail" owner:self options:nil];
id firstObject =[topLevelObjects objectAtIndex:0];
if ( [ firstObject isKindOfClass:[UITableViewCell class]] )
cell = (CustomCellDetail *)firstObject;
ParsingItem *item=[self.arrayPeoples objectAtIndex:indexPath.section];
cell.lblUserName.text=[item.mdictXMLTagsData valueForKey:@"UserName"];
cell.lblStatus.text=[item.mdictXMLTagsData valueForKey:@"StatusMessage"];
cell.lblAge.text=[item.mdictXMLTagsData valueForKey:@"Gender"];
并且为了获取结果,我发现只能从 nsmutable 数组中搜索字符串,所以我应用搜索如下:
-(void)FetchSearcheRecordsFromArray
{
self.filteredArray = self.arrayPeoples;
NSLog(@"string :%@",strSearchingText);
NSPredicate *Predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",self.strSearchingText];
NSLog(@"string :%@",Predicate);
[self.filteredArray filterUsingPredicate:Predicate];
NSLog(@"Array count is : %d",[self.filteredArray count]);
if ([self.filteredArray count] <= 0 )
{
self.lblNoRecordsFound.hidden = NO;
}
else
{
self.lblNoRecordsFound.hidden = YES;
}
[self.tblViewPeople reloadData];
}
我的应用程序在线崩溃:
[self.filteredArray filterUsingPredicate:Predicate];
据我所知,我的数组中不存在该字符串,并且有一个解析项。
我想仅对人的姓名进行搜索,但我不知道如何从数组中仅获取姓名。
我怎样才能做到这一点???
有什么办法吗??
我需要这样做,但不知道怎么做!
请帮忙 !