0

我的(和) 中有two arrays(first names, Last names)我想在这个. 我用两个字符串创建了类。TableViewcell.textLabelcell.detailTextLabelTableView

@interface clientContent : NSObject { }
@property (nonatomic, strong) NSString *clName;
@property (nonatomic, strong) NSString *clLast;
@end

然后我在主类(有表视图)中创建了数组并添加了这样的信息

    for (int i = 0; i < PQntuples(clientQuery); i++)
{
    clientContent *cc = [[clientContent alloc] init];
    cc.clName = [[NSString alloc] initWithUTF8String:PQgetvalue(clientQuery, i, 0)];
    cc.clLast = [[NSString alloc] initWithUTF8String:PQgetvalue(clientQuery, i, 1)];
    [allClients addObject:cc];
}

在此之后,我将其加载到tableView

clientContent *cc = [allClients objectAtIndex:indexPath.row];
    cell.textLabel.text = cc.clName;
    cell.detailTextLabel.text = cc.clLast;
}

然后我用

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString

如何使它正确?看不懂。。

4

1 回答 1

0

您应该重写 searchDisplayController:shouldReloadTableForSearchString: UISearchDisplayController 的委托方法,并根据需要为 searchResultsTableView 过滤数据源数组。

您可以在数组(clientContent 对象数组)上应用谓词并更改 dataSource 数组。使用谓词,您可以在两个字段(clName 和 clLast)上过滤您的数组。

您可以从https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/Reference/NSPredicate.html获得与谓词相关的帮助

于 2012-11-05T09:45:07.227 回答