2016-09-29 2 views
0

내 제안 배열에서 부분 문자열을 검색하여 자동 완성 텍스트 필드를 만듭니다. Swift에서 문자열의 부분 문자열 검색이 작동하지 않습니다.

func searchAutocompleteEntriesWithSubstring(substring: String) 
{ 
    autocompleteUrls.removeAll(keepCapacity: false) 

    for curString in countries 
    { 
     let myString:NSString! = curString as NSString 

     let substringRange :NSRange! = myString.rangeOfString(substring) 

     if (substringRange.location == 0) 
     { 
      autocompleteUrls.append(curString) 
     } 
    } 

    autocompleteTableView.reloadData() 

} 

하지만이 검색하고있는 나라는 인도이며, 내가 "ndia"에서 검색을 시작하면, 그것의 제안을받지, 그것은 그뿐만 아니라 가야

. 대신

+0

가능한 중복 http://stackoverflow.com/questions/24034043/how-do-i -check-if-a-string-containing-another-string-in-swift) –

+1

생각해 보면 : 언제'if (substringRange.location == 0)'가 true입니까? –

+0

사람들이 실제로 질문을 읽거나 답을 말합니까? 내 정확한 요구 사항을 다시 읽어주십시오. 정확한 문자를 찾으려합니다 .... "dia"검색을 시작하면 검색 결과도 INDIA – Saty

답변

3

사용 조건 :

let countries = ["india", "japan", "Indonesia", "bangladesh", "Australia"]; 

let predicate = NSPredicate(format: "SELF contains[c] %@", "ndia") 

let autocompleteUrls = countries.filter { predicate.evaluateWithObject($0) } 

print(autocompleteUrls) // output: ["india"] 
[? 문자열 스위프트에 다른 문자열을 포함하는 경우 내가 확인하려면 어떻게]의 (
+0

Great Answer Now !!! !!! – Saty

관련 문제