2011-11-25 2 views
1

txt 파일을 읽고 NSArray에 저장하려고합니다. 여기에 내 코드가 있지만, 모르는 뭔가 빠져있는 것 같습니다! txt 파일을 읽고 NSArray에 저장하는 방법?

NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

지금 parsed 배열이 URL에서 문자열을 포함합니다 :

NSURL *url=[NSURL URLWithString:@"http://www.google.com/robots.txt"]; 

    NSMutableArray *robots=[NSMutableArray arrayWithContentsOfURL:url]; 

    NSLog(@"%@",robots); 
+0

이 들어있는 문자열 내가 @anticyclope 맞았다 생각으로 채워됩니다 이 하나, 그러나 앞으로는 무엇이 잘못 되었는가에 대해 더 자세히 말하십시오 - 단지 "뭔가 빠졌습니다"이라고 말하는 것은 당신이 기대하는 것과 당신이보고있는 것과 그들이 왜 다른 것인지 설명하지 못합니다. –

답변

6

당신은 다음과 같은 문자열을 분할

NSString *content = [NSString stringWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:nil]; 

같이 첫 번째 문자열에 URL의 내용을로드 할 수 있습니다.

편집 :

당신이 당신의 배열을 필터링이 코드를 추가 할 경우

NSIndexSet *indexes = [parsed indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { 
    NSRange range = [(NSString *)obj rangeOfString:@"Disallow"]; 
    if (range.location != NSNotFound) 
    { 
     return YES; 
    } 
    return NO; 
}]; 

NSArray *disallowed = [parsed objectsAtIndexes:indexes]; 

disallowedDisallow 문자열을

+0

감사합니다. @ "Disallow"문자열을 포함하는 행만 어떻게 반환 할 수 있습니까? –

+0

첫 줄은 무엇입니까? 방법인가요? 그 매개 변수는 무엇입니까? –

+0

이 줄은 인덱스 ob 객체를 반환하는데,이 경우 약간의 테스트와 부분 문자열 일치가 전달됩니다. array의 모든 객체를 열거하고이 객체가 테스트를 통과하는지 확인합니다. 열거 된 각 항목에 대해 테스트를 실행하기 위해 다른 언어의 익명 함수와 같은 Objective-C 기능인 블록을 사용합니다. 하위 문자열이 일치하면 YES를 반환하고 그렇지 않으면 YES를 반환합니다. obj는 배열의 객체이고, idx는 인덱스입니다. 또한 테스트를 중지하려면 stop 변수에 YES를 리턴 할 수 있습니다. – anticyclope

관련 문제