我正在尝试为Mac OS X创建一个cocoa应用程序,其中用户选择一个文本文件,并将文本文件的列放入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的“初学者”阶段。谢谢!
答案 0 :(得分: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];
}
显然你可以更改列名。
(徒手打印所以检查名称和格式)。