Я циклически перебираю данные, но в этих данных они имеют два одинаковых имени, но оба имеют разные подтемы (которые, как предполагается, являются субтитрами).Таким образом, результаты поиска показывают оба имени с одинаковыми субтитрами, когда они должны иметь разные субтитры, так как они имеют разные подтемы.
Я думал, что следующий код будет работать, но это не так, и я не уверен, чтоЯ делаю неправильно.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *kCellID = @"cellID";
static NSString *cellIdentifier = @"myCellIdentifier";
// if search is active display cell with subtitles otherwise display default
if (tableView == self.searchDisplayController.searchResultsTableView) {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier] autorelease];
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.textLabel.numberOfLines = 0;
}
cell.textLabel.text = [self.searchFilteredListContent objectAtIndex:indexPath.row];
for(id obj in data){
if ([[obj valueForKey:@"name"] isEqualToString:[self.searchFilteredListContent objectAtIndex:indexPath.row]]) {
NSLog(@"%@",[obj valueForKey:@"subTopic"]);
cell.detailTextLabel.text = [obj valueForKey:@"subTopic"];
}
}
return cell;
}else{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];
}
cell.textLabel.text = [self.topics objectAtIndex:indexPath.row];
return cell;
}
}
NSLog(@"%@",[obj valueForKey:@"subTopic"])
показывает правильные подтемы, но не отображает эти результаты в субтитрах в представлении таблицы поиска.
Спасибо за вашу помощь!