2012-03-29 2 views
0

이것은 현재 검색 코드입니다.iOS - 테이블보기 검색

-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope { 
    [filteredList removeAllObjects];   
    for(Location *item in list) 
    { 
     NSRange result = [item.title rangeOfString:searchText options:NSCaseInsensitiveSearch range:NSMakeRange(0, [searchText length])]; 
     if(result.location != NSNotFound) 
     { 
      [filteredList addObject:item]; 
     } 
    } 
} 

어떻게 시작 부분뿐만 아니라 제목의 일부와도 일치하도록 변경할 수 있습니까?

예 : 나는이 목록에 나타납니다 '라스', '라스베가스'를 검색,하지만 난 '라스베가스'를 검색 할 때하지 않는 경우 순간

. 옵션 :

나는 검색어 '라스베가스' '라스베가스'

감사로 돌아와, 애슐리

+0

, 당신은 filteredArrayUsingPredicate'를 통해 배열을'NSPredicate's를 사용하여 시작 할 수 있습니다 :

아니면 rangeOfString를 사용하려면 어떤 이유로 경우

'. 그것은 삶을 조금 더 쉽게 만듭니다. 다음은 술어 문자열 구문에 대한 Apple 참조입니다. [술어 형식 문자열 구문] (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html#//apple_ref/doc/uid/TP40001795-SW1) – Gobot

답변

1

사용 rangeOfString:options: 대신 rangeOfString 할 범위 :. 검색을 문자열의 시작 부분으로 제한하는 것은 range 매개 변수입니다. 옵션 : 범위 : 다음 범위로 사용 : NSMakeRange(0, [item.title length]) 그냥 참고로

+0

나는 그게 다라고 믿을 수 없다. 감사 –

관련 문제