2012-05-24 2 views
1

Я загружаю файл, который содержит 3 строки непосредственно друг под друга, , но мой массив пропускает одну строку для каждого набора. В моем массиве ощутимые результаты появляются в позициях: 0, 2 и 4 вместо позиций 0,1 и 2.newlineCharacterSet возвращает 5 строк вместо 3

Также будет ли этот таймаут через несколько секунд? Я просто вижу интервал, это тайм-аут?

NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970]; 
     NSNumber *timeStampObj = [NSNumber numberWithDouble: timeStamp]; 
     NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://192.168.1.30/ios/info.php?a=APP1&s=%i",timeStampObj]]; 
     NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:5]; 
     NSURLResponse* response=nil; 
     NSError* error=nil; 
     NSData* data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
     NSString* fileContents = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; 
     if ([fileContents length] == 0) return; 

     NSArray* allLinedStrings = [fileContents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

     if ([allLinedStrings count] == 0) { 

     } else { 
      NSString* Title = [allLinedStrings objectAtIndex:0]; 
      NSString* Description = [allLinedStrings objectAtIndex:2]; 
      NSString* Url = [allLinedStrings objectAtIndex:4]; 

     } 
+1

Если вы сделали этот файл в Windows, он будет иметь два символа новой строки в конце каждой строки. Может ли это что-то вызывать? – borrrden

+0

Если вы можете открыть его в Xcode, в настройках он позволит вам выделить новые строки. – CodaFi

+0

файл генерируется скриптом php на машине, основанной на nix. echo "line1 \ r \ nline2 \ r \ nline3"; – renevdkooi

ответ

2

Если файл надежно отделен от «\ г \ п», то -componentsSeparatedByString: должно работать для вас.

NSArray* allLinedStrings = [fileContents componentsSeparatedByString:@"\r\n"]; 
Смежные вопросы