IOS анализ текстового файла - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть файл с разделителями-запятыми, который мне нужно проанализировать.Это выглядит так:

... "John", "Smith", "New York", "10038" ...

Я обрабатываю около 1000 таких записей на файл.Мой план состоит в том, чтобы разобрать их в dictionary.

. Из того, что я нашел до сих пор, я должен использовать NSInputStream.Мой текущий код выглядит следующим образом:

firstViewController.m

...
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    GruParser *stream = [[GruParser alloc] init];
    [stream parse:[[NSBundle mainBundle] pathForResource:@"sample" ofType:@"gru"]];
}
...

GruParser.m

#import "GruParser.h"

@implementation GruParser

-(id)init {
    if(self = [super init]) {
        dict = [NSMutableDictionary alloc];
    }
    return self;
}

-(void)parse:(NSString *)path {
    NSInputStream *stream = [NSInputStream inputStreamWithFileAtPath:path];
    //NSInputStream *stream = [NSInputStream inputStreamWithURL:[NSURL URLWithString:@"http://www.w3schools.com/xml/note.xml"]];

    [stream setDelegate:self];
    [stream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [stream open];
    NSLog(@"%@", @"parse");
}

-(void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode {
    NSLog(@"%@", @"stream event");
}

@end

main.m аварийно завершает работу в строке 16 (BAD_ACCESS), и так как яЯ отладчик 4.2, я не уверен, что я делаю неправильно.Однако в журнале написано «поток».Я почти уверен, что сбой на [stream open].Любой совет для следующих шагов?

1 Ответ

0 голосов
/ 01 февраля 2012

Вам нужно использовать GruParser *stream = [[GruParser alloc] init]; вместо GruParser *stream = [GruParser alloc]; - вы создаете неинициализированный объект, который приводит к сбою.

...