从逗号分隔文件加载类的最佳方法

时间:2010-12-14 03:22:10

标签: objective-c csv coding-style classloader delimited-text

我对Objective-c和面向对象编程一般都很新,并且有一个理论上的风格类型问题。我想要做的是加载一个包含逗号分隔文件条目的类表。文件中的数据包含许多条目,这些条目由一个短键后跟几个字符串值组成,所有字符串值都由commma分隔。

有一百万种方法可以做到这一点,但我问的是从严格的理论角度来看最好的方式。我想暂时不要使用任何类型的XML编码,但一旦我同时进入一个入门程序,最终可能会转换为该格式。

我可以使用函数来获取'下一条记录'并将结构传入和传出函数,创建类的新实例,从结构中加载它,然后将其添加到数组中。我首先使用stringWithContentsOfFile方法将文件加载到字符串中然后使用字符串函数和一些指针来遍历文件以返回我将加载到类中的结构元素。

在objective-c中,这似乎是一种合理的方法吗?或者是否有更好的方法可能在理论上更合理,至少也可以起作用?

1 个答案:

答案 0 :(得分:4)

你有一个CSV文件,你想读它吗? There's some code for that

最简单的方法是:

#import "CHCSV.h"

NSString * csvFile = ...; //path to the CSV file
NSError * error = nil;
NSArray * contents = [NSArray arrayWithContentsOfCSVFile:csvFile
                                                encoding:NSUTF8StringEncoding
                                                   error:&error];
if (contents == nil) {
    NSLog (@"Error %@", error);
} else {
    for (NSArray * row in contents) {
        NSLog(@"CSV fields in this line: %@", row);
        // "row" contains all the fields (as NSStrings) that were present
        // on this line of CSV
    }
}