0

我正在尝试为 Mac OS X 创建一个可可应用程序,其中用户选择一个文本文件,并将文本文件的列放入 GUI 上的一个表中。文本文件将始终具有类似的格式。

基本上,我真的很感激(1)我如何解析文本文件中的数据,然后(2)我如何安排数据以供显示和/或将来操作。

例如,文本文件可以是以下形式:

c18                 10706      463029             A
c2                  10841      91075              G
c16                 11164      .                  A
c19                 11257      41553              C 

我很感激这方面的任何帮助!我熟悉如何在 MATLAB 甚至 bash 脚本中执行此操作,但我只是无法通过 X-Code/Objective-C/Cocoa 的“初学者”阶段。谢谢!

4

1 回答 1

0

对于解析,类似于:

NSScanner *scanner = [[NSScanner alloc] initWithString:...];
NSMutableArray *rows = [NSMutableArray array];
NSArray *columnNames = @[@"one", @"two", @"three", @"four"];
NSCharacterSet *whiteSpaceSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSCharacterSet *allowedSet = [whiteSpaceSet invertedSet];

while (![scanner isAtEnd) {

    NSMutableDictionary *row = [NSMutableDictionary dictionary];

    for (NSString *columnName in columnNames) {

         NSString *content = nil;

        [scanner scanUpToCharactersFromSet:allowedSet intoString:&content];

        [row setObject:content forKey:columnName];

        [scanner scanUpToCharactersFromSet:whiteSpaceSet intoString:nil];
    }

    [rows addObject:row];
}

显然,您可以更改列名。

(手写输入,所以检查名称和格式)。

于 2013-09-17T10:55:34.257 回答