This may be possible duplicate of many existing questions, one of them is : This
或其他链接 我搜索至今。
我正在研究一个应用程序,其中我展示人民信息,如Thier位置、姓名、图像、性别、电话号码等。
我通过 xmls 获取这些数据。 从剖析中我喂养我的NSM可图阵列, 并在表格视图中显示细节 。
我要在这个阵列中应用搜索人名 。
我如何从这些名字中找到人名?
以下是我使用的代码:
用于在表格视图中显示细节 :
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"];
为了获取结果,我发现只有字符串可以从 nsmodiable 数组中搜索,所以我应用了以下搜索方法:
-(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];
正如我所知道的,我的阵列里没有字符串, 有一个解析项目。
我想只对人们的名字进行搜索, 但我不知道如何从数组中只获得名字 。
我怎样才能做到这一点?
周围有工作吗?
我需要做到这一点,但不知道如何做!
请救救我!