2012-11-05 3 views
0

와 searchController을 사용하는 방법 내 TableView (cell.textLabelcell.detailTextLabel) 나는이 TableView에있는 검색 창을 만들고 싶어 에서 two arrays (첫 번째 이름, 마지막 이름)가 있습니다. 두 문자열로 클래스를 만들었습니다. I는 tableView에로드 그 후이두 배열

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]; 
} 

처럼 내 정보 추가 (표도 있음) 및 메인 클래스

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

다음 I 작성한 어레이;

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

그럼 어떻게 그것을 바로 할

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

를 사용할 수 있습니까? 이해할 수 없습니다 ..

답변

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