-3

目标C语言-->

我有 cvs 文件,我想将它读入 NSString 并创建数组,即:

名称、州、价格、邮政编码

威斯康星州约翰,20000, 43555 .. ..

#import <Foundation/Foundation.h>
#import <string.h>
int main(int argc, const char * argv[])

{
@autoreleasepool {
    //input user for a name on property list    
    int input;
NSLog(@"The worldcities.cvs contained infor on property names.");       
        NSLog(@"Enter a name: ");       
        scanf("%i", &input);

NSString *sourceFileString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"filename" ofType:@"worldcities.csv"] encoding:NSUTF8StringEncoding error:nil];

        NSMutableArray *csvArray = [[NSMutableArray alloc] init];
        csvArray = [[sourceFileString componentsSeparatedByString:@"\n"] mutableCopy];

        NSString *keysString = [csvArray objectAtIndex:0];

        NSArray *keysArray = [keysString componentsSeparatedByString:@","];

        [csvArray removeObjectAtIndex:0];

我希望能够根据来自 .cvs 文件的创建数组的用户输入输出属性名称,我将如何继续?

4

1 回答 1

0

您可以创建一个核心数据结构并使用 .csv 文件中的信息填充它,而不是将其存储在数组中。然后,根据用户输入,您可以使用 NSPredicate 查询您需要输出的任何内容。

是一个关于使用 Core Data 以及使用预先存在的文件填充 Core Data 的非常好的教程。

于 2013-10-10T18:28:50.287 回答