2011-09-03 5 views
0

이것은 당황 스럽습니다. 나는 coredata 또는 텍스트 파일을 사용하고 싶지 않습니다. 이 코드를 작성하는 가장 짧은 방법이 필요합니다.rangeOfString을 사전, 킹 제임스 성경 등의리스트로 작성하는 가장 짧은 방법은 무엇입니까?

이름 ("존", "마태는", "토마스", "이삭", "성경", "마야", "2012", 더 이름)

이 코드는 매우 긴 너무 많이 낭비한다 메모리, 다운로드 시간 및 공간 낭비가 있습니다. 그것을 권장하지 않습니다. 10,000 줄.

NSString *selectives = Name.text; 
if ([selectives rangeOfString:@"John"].location != NSNotFound) { 
    // 
} 
if ([selectives rangeOfString:@"Matthew"].location != NSNotFound) { 
    // 
} 

초. 이 코드는 작동하지 않습니다. 나는 내가 여기서 잘못하고있는 것이 아니다. 나는 길을 잃었다. 도움이 필요해!

NSString *string = Name.text; 
    NSString *NameMe = [NSString stringWithString:@"Jake", "miller", "thomas", "isaac"]; 

    if([string rangeOfString:NameMe].location !=NSNotFound) 
    { 
     // 
    } 

더 좋은 방법이 있나요? 너는 어떻게 써? 나는 이것에 능숙하지 않다.

답변

1

첫 번째 경우 빠른 열거 형을 사용하여 코드를 단축 할 수 있습니다.

NSArray *searchStrings = // Set up your search strings however you want 
NSString *selectives = Name.text 

for (NSString *searchString in searchStrings) { 
    if [selectives rangeOfString:searchString].location != NSNotFound { 
     // Your processing here 
    } 
} 

는 두 번째 경우이 줄 당신은 제대로 구성된 문자열 전달되지

NSString *NameMe = [NSString stringWithString:@"Jake", "miller", "thomas", "isaac"]; 

잘못된 것입니다. @"Jake"은 유효하지만, 나머지 부분은 @"..." 섹션 외부에 있기 때문에 유효하지 않습니다.

+0

분할 문자열 ","은 어떻게됩니까? – Investmoney

+0

이 메서드는 분할이있는 문자열이 아닌 문자열을 사용합니다. – Abizern