Guest User

Untitled

a guest
Apr 28th, 2012
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. NSScanner behavior
  2. [fields scanCharactersFromSet:fieldCharSet intoString:nil];
  3.  
  4. Name,Location,Number,Units
  5. A,AA,4,mm
  6. B,BB,3.5,km
  7. C,CC,10.2,mi
  8. D,DD,2,mm
  9. E,EE,6,in
  10. F,FF,2.8,m
  11. G,GG,3.7,km
  12. H,HH,4.3,mm
  13. I,II,4,km
  14.  
  15. -(void)parseFile {
  16. NSCharacterSet *lineCharSet = [NSCharacterSet newlineCharacterSet];
  17. NSCharacterSet *fieldCharSet = [NSCharacterSet characterSetWithCharactersInString:self.separator];
  18. // import the file
  19.  
  20. NSStringEncoding *encoding = nil;
  21. NSError *error = nil;
  22. NSString *data = [[NSString alloc] initWithContentsOfURL:self.absoluteURL usedEncoding:encoding error:&error];
  23. NSString *line,*field;
  24.  
  25.  
  26. NSScanner *lines = [NSScanner scannerWithString:data];
  27. while (![lines isAtEnd]) {
  28.  
  29. [lines scanUpToCharactersFromSet:lineCharSet intoString:&line];//automatically sets to next line - why?
  30.  
  31.  
  32.  
  33. NSLog(@"%@n",line);
  34.  
  35. NSScanner *fields = [NSScanner scannerWithString:line];
  36.  
  37. while (![fields isAtEnd]) {
  38.  
  39. [fields scanUpToCharactersFromSet:fieldCharSet intoString:&field];
  40.  
  41. [fields scanCharactersFromSet:fieldCharSet intoString:nil]; //have to do this otherwise will not go to next symbol
  42.  
  43. NSLog(@"%@n", field);
  44.  
  45. }
  46. }
  47. }
  48.  
  49. -(void)parseFile {
  50. NSString *data = [[NSString alloc] initWithContentsOfURL:self.absoluteURL usedEncoding:encoding error:&error];
  51.  
  52. for (NSString *line in [data componentsSeparatedByString:@"n"]) {
  53. if (line.length == 0)
  54. continue;
  55.  
  56. NSLog(@"line: %@", line);
  57.  
  58. for (NSString *field in [line componentsSeparatedByString:self.separator]) {
  59. NSLog(@" field: %@", field);
  60. }
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment