目标C语言 - >
我有cvs文件,我想将它读入NSString并创建数组,即:。
姓名,州,价格,邮政编码
John,WI,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文件的create数组的用户输入输出属性名称,我该如何处理?
答案 0 :(得分:0)
您可以创建核心数据结构,并使用.csv文件中的信息填充核心数据结构,而不是将其存储在数组中。然后,根据用户输入,您可以使用NSPredicate查询您需要输出的内容。
This是一个非常好的教程,使用核心数据并使用预先存在的文件填充核心数据。