搜索栏显示错误/混合单元格结果
我的iOS项目有问题。 我正在使用搜索栏在我的自定义tableview中过滤我的数组,以显示搜索的匹配关键字。
它没有显示代码错误,但显然存在问题。
通常我的tableview中有20多个项目,但是当我搜索时,它只显示我的tableview通常没有搜索的第一个单元格,该单元格的相同图像确切,但它不是同一个单元格,因为每个单元格都有按钮通过该单元格中的标签显示特定信息。 因此,当我搜索并且结果出来时,它会显示tableview中第一个单元格的图像,但显示正确单元格或匹配单元格的标签或信息。
我不知道它会是什么。 也许它保留了第一个单元格的图像,因为它是一个自定义的tableview单元格,并且由于某种原因它不会过滤掉正确的图像。 但奇怪的是,它是正确的细胞,因为每个细胞所具有的特定标签正在显示,而不是第一个细胞与第一个细胞图片的标签。 我希望我有意义。
码:
numberOfRowsInSection
if (isFiltered) { return [filteredGamesArray count]; } return [gamesArray count];
的cellForRowAtIndexPath
Game * gameObject; if (!isFiltered) { gameObject = [gamesArray objectAtIndex:indexPath.row]; } else { gameObject = [filteredGamesArray objectAtIndex:indexPath.row]; } return cell;
searchBar textDidChange
if (searchText.length == 0) { isFiltered = NO; } else { isFiltered = YES; filteredGamesArray = [[NSMutableArray alloc] init]; for (Game *game in gamesArray) { NSString *str = game.gameName; NSRange stringRange = [str rangeOfString:searchText options:NSCaseInsensitiveSearch]; if (stringRange.location != NSNotFound) { [filteredGamesArray addObject:game]; } } } [myTableView reloadData];
此外,我不会在我的应用程序中保留任何图像或文本。 我使用json / php / mysql从服务器获取填充tableview单元格的所有信息,我使用的是图像URL。
我在这里遗漏了一些东西。 如果您需要更多详细信息,请告诉我们。
的cellForRowAtIndexPath
// Loading Images NSURL * imgURL = [[gamesArray objectAtIndex:indexPath.row] valueForKey:@"gameURL"]; [cell.myImageView setContentMode:UIViewContentModeScaleAspectFit]; [cell.myImageView sd_setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:@"no-image.jpg"] options:SDWebImageRefreshCached];
使用NSPredicate搜索最佳选项。
searchArray=[[NSArray alloc]init]; NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF.YOURSEARCHKEY contains[c] %@", YOURTEXTFIELD.text]; NSLog(@"%@",resultPredicate); searchArray = [ORIGNALARRAY filteredArrayUsingPredicate:resultPredicate]; NSLog(@"%@",searchArray); [self.colorTableview reloadData];
//这里检查搜索是打开还是关闭,只需更新你的数组
if searching{ NSURL * imgURL = [[searchArray objectAtIndex:indexPath.row] valueForKey:@"gameURL"]; [cell.myImageView setContentMode:UIViewContentModeScaleAspectFit]; [cell.myImageView sd_setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:@"no-image.jpg"] options:SDWebImageRefreshCached]; }else{ NSURL * imgURL = [[gamesArray objectAtIndex:indexPath.row] valueForKey:@"gameURL"]; [cell.myImageView setContentMode:UIViewContentModeScaleAspectFit]; [cell.myImageView sd_setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:@"no-image.jpg"] options:SDWebImageRefreshCached]; }
- 越狱iOS从后台应用程序截图
- 停止UIView中的所有asynchronous任务
- iOS 5 GM:<错误>:超过最多5个过滤专辑列表试图注册。 这将失败
- 苹果应用程序拒绝,因为Auth0 signUpLink在Cordova InAppBrowser中未打开,而是在系统浏览器(Safari)中打开,
- 在主视图Swift中embedded子视图
- 无论如何在两个视图之间使用CATransition时删除淡入淡出?
- 集成微信到IOS iPhone应用程序:无法获取资产
- iOS等待漫长征途
- syscall_thread_switch iOS 8.3比赛 – CocoaLumberjack的错误? 如何debugging呢?