- 처음있는 NSMutableArray을에서
.H 파일
있는 NSMutableArray * searchDataArray;
지금의 속성을 선언하고하는 .m 파일에
2.In 당신의 -(void)viewDidLoad
ALLOC 검색 배열을 합성하고 그것을 유지합니다.
- 이 코드에서
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[sBar resignFirstResponder];
searching = YES; //A boolean for searching condition
[searchData removeAllObjects];
NSString *searchText = searchBar.text;
// record is a mutable array containing the cell text
int count = [records count];
for (int i=0; i<count; i++) {
for(int j=0;j<6;j++){
//finding the cell strings for checking
recordsstr = [NSString stringWithFormat:@"%@",[records objectAtIndex:i];
//Matching string of table and search string
//case sensitivity checking
NSString *mainString = [NSString stringWithFormat:@"%@",[recordsstr lowercaseString]];
NSString *searchString = [NSString stringWithFormat:@"%@",[searchText lowercaseString]];
NSLog(@"main String: %@ and search string: %@ ",mainString,searchString);
NSLog(@"main string lenght: %d and search String lenght: %d",[mainString length],[searchString length]);
if([mainString isEqualToString:searchString] || [mainString rangeOfString:searchString].location != NSNotFound){
[searchData addObject:[NSNumber numberWithInt:i]];
NSLog(@"indext after matching: %d",i);
NSLog(@"number of date in searchdata array after matching: %d",[searchData count]);
break;
}
recordsstr = nil;
}
}
에 난 셀 텍스트를 일치하고 그래서 .. 텍스트를 검색 [당신이 검색 창을 설정하고 검색 대리자를 호출 할 수 있다는 생각입니다]. 셀 인덱스 배열을 취하는 셀 텍스트를 찾은 후. 검색이 완료되면
이제 다음 당신의 tableview
if(searching == YES){
for(int i = 0; i<[searchData count]; i++){
if(indexPath.row is equal to [searchData objectAtIndex:i])
{
//change your text field
}
}
else{
//Without searching code
}
그것이 우리 한테 주어진 문제 나 노크 도움이 될 수 있음을 [tableview reloadData]
지금의 cellForRowAtIndex
검사를 다시로드합니다.
이 질문에 대한 적절한 도움을 받으려면 관련 코드를 게시해야합니다. – PengOne
내가 제대로 이해한다면 배열을 설정하고 데이터를 다시로드하여 단추의 올바른 값을 설정해야합니다. –