我只想从csv返回数据,但我总是返回null

时间:2013-10-05 20:30:49

标签: ios csv nsarray

抱歉我的英语不好,但我这三天都可以帮助我吗?

我是新手xcode程序员,我只是想从我的csv文件中返回数据,但它始终为null

我试着在这里阅读很多帖子。我复制它并一次又一次地编辑,但它不起作用。

我的csv文件中的数据

INTEL Core-i3 3220 3.3 HD2500,x,
AMD FX9590 4.7 8core Black Edition,x,
INTEL Core i3-4130 3.4 HD4400,x,
AMD FX9370 4.4 8core,x,
INTEL Core i3-4330 3.5 HD4600,x,
AMD FX8350 4.0 8core,x

这是我的NSObject

@synthesize cpuData,selectedCpu;
NSMutableArray *x;
-(NSArray *)sendCpu{
    NSArray *itemArray;
    NSString *filepath = [[NSBundle mainBundle] pathForResource:@"xcpu" ofType:@"csv"];
    NSString *content =  [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:nil];
    NSArray *arrayfarm = [content componentsSeparatedByString:@"\n"];
    for (NSString *item in arrayfarm) {
       itemArray = [item componentsSeparatedByString:@",x"];
        [x addObject:itemArray];
    }
    return [x objectAtIndex:cpuData];
}
@end

这是我的viewController

- (void)viewDidLoad
{
    [super viewDidLoad];
globalData *d = [[globalData alloc]init];
    for (int i=1;i<20;i++){
        [d setCpuData:i];
         NSLog(@"%@",[d sendCpu]);
    } 
}

还有一个问题PLZ可以告诉我如何选择一个数据

示例我只想要

"INTEL Core-i3 3220 3.3 HD2500" from "INTEL Core-i3 3220 3.3 HD2500,x"

我尝试做很多事,但我不能

感谢您的关注,并为我非常糟糕的英语感到抱歉

1 个答案:

答案 0 :(得分:0)

你错过了:

x = [[NSMutableArray alloc] init];

如果您不使用ARC,那么您也应该在完成后将其释放:

NSArray *result = [x objectAtIndex:cpuData];
[x release];
return result;