CSV-Daten importieren (SDK iphone)
Für den folgenden Code kann ich alle Daten in der Zeichenfolge lesen und die Daten für den Plot erfolgreich abrufen.
NSMutableArray *contentArray = [NSMutableArray array];
NSString *filePath = @"995,995,995,995,995,995,995,995,1000,997,995,994,992,993,992,989,988,987,990,993,989";
NSArray *myText = [filePath componentsSeparatedByString:@","];
NSInteger idx;
for (idx = 0; idx < myText.count; idx++) {
NSString *data =[myText objectAtIndex:idx];
NSLog(@"%@", data);
id x = [NSNumber numberWithFloat:0+idx*0.002777778];
id y = [NSDecimalNumber decimalNumberWithString:data];
[contentArray addObject:
[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]];
}
self.dataForPlot = contentArray;
Dann versuche ich, die Daten aus einer CSV-Datei zu laden. Die Daten in der Datei Data.csv haben denselben Wert und dasselbe Format wie:
995,995,995,995,995,995,995,995,1000,997,995,994,992,993,992,989,988,987,990,993,989.
Ich führe den Code aus, er soll die gleiche Grafikausgabe liefern. Es scheint jedoch, dass die Daten nicht erfolgreich aus der CSV-Datei geladen werden.
Ich kann nicht herausfinden, was mit meinem Code nicht stimmt.
NSMutableArray *contentArray = [NSMutableArray array];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"csv"];
NSString *Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];
if (Data)
{
NSArray *myText = [Data componentsSeparatedByString:@","];
NSInteger idx;
for (idx = 0; idx < myText.count; idx++) {
NSString *data =[myText objectAtIndex:idx];
NSLog(@"%@", data);
id x = [NSNumber numberWithFloat:0+idx*0.002777778];
id y = [NSDecimalNumber decimalNumberWithString:data];
[contentArray addObject:
[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y",nil]];
}
self.dataForPlot = contentArray;
}
Der einzige Unterschied ist
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"csv"];
NSString *Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];
if (data){
}
Habe ich hier etwas falsch gemacht?