如何在uitableview中添加搜索栏和搜索显示到rss源

时间:2013-11-12 01:47:47

标签: ios objective-c uitableview rss

我创建了一个从.xml文件解析的RSS阅读器。 numberOfRowsInSection cellForRowAtIndexPath 如下所示:

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return self.parseResults.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    //Check if cell is nil. If it is create a new instance of it
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }
    // Configure titleLabel
    cell.textLabel.text = [[self.parseResults objectAtIndex:indexPath.row] objectForKey:@"title"];
    cell.textLabel.numberOfLines = 2;
    //Configure detailTitleLabel
    cell.detailTextLabel.text = [[self.parseResults objectAtIndex:indexPath.row] objectForKey:@"summary"];

    cell.detailTextLabel.numberOfLines = 2;

    //Set accessoryType
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    //Set font and style
    cell.selectionStyle = UITableViewCellSelectionStyleGray;
    cell.textLabel.font = [UIFont boldSystemFontOfSize:14];

    return cell;
}

我正在尝试创建搜索栏和搜索显示控制器,但我不确定如何搜索 objectForKey “title”或 objectForKey UITableView中的“摘要”。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您要搜索标题和摘要,可以在UISearchBarDelegate方法中尝试此操作

- (void)searchBar:(UISearchBar *)searchBar
textDidChange:(NSString *)searchText
{
  if ([searchText length] == 0)
  {
    [self.tableView reloadData];
    return;
  }

  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.title contains[cd] %@ OR SELF.summary contains[cd] %@", searchText, searchText];
  NSArray *filteredArray = [self.parseResults filteredArrayUsingPredicate:predicate];

  // TODO: Use this filteredArray to reload data

  [self.tableView reloadData];
}

示例项目供您参考 - https://github.com/deepthit/TableViewSearch.git