0

可能重复:
iOS 搜索结果顺序

当我使用UISearchBar在UITableview中搜索某些东西时,在UISearch中进行搜索后,我的 UITableview 中没有出现任何内容。在搜索我的表之前显示我在 PList 中的所有数据。当我在这样的格式中有 Plist数据时,我正面临搜索问题.as my Sreenshot show below

在此处输入图像描述 我的代码在下面给出。

 - (void)viewDidLoad
{
[super viewDidLoad];
    pArray = [[NSArray alloc] init];
    listOfItems = [[NSMutableArray alloc] init];
NSDictionary *dic = [NSDictionary dictionaryWithObject:pArray forKey:@"Countries"];
[listOfItems addObject:dic];
sArray = [[NSMutableArray alloc] init];
 }


-(void) viewWillAppear:(BOOL)animated{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"Songs" 
        ofType:@"plist"];
NSDictionary *dic = [[NSDictionary alloc] initWithContentsOfFile:path];
pArray = [[dic objectForKey:@"A"]retain];
[tableView reloadData];
}


 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (searching){
      return [sArray count];
}
  else {  
       return [pArray count];
     }
  }


- (void) searchTableView
  {
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in listOfItems)
{
    NSArray *array = [dictionary objectForKey:@"Countries"];
    [searchArray addObjectsFromArray:array];
}

for (NSString *sTemp in searchArray)
{
    NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];

    if (titleResultsRange.length > 0)
        [sArray addObject:sTemp];
}

[searchArray release];
searchArray = nil;

}

当我在searchTableView方法中使用断点时,字符串SearchText显示它当前拥有的文本,但我的 NSArray数组显示零对象和我的 NSString sTemp显示变量不是 CFString。可以帮助修复它。提前谢谢。

4

0 回答 0