如何从 Objective-C 中的文本文件解析坐标?

How to parse coordinates from a text file in Objective-C?

我有一个名为 coordinates.txt 的文本文件,里面有一些坐标(令人惊讶)。格式如下所示:

20.580070,47.775910, 
20.582950,47.776640, 
20.585660,47.777460, 
20.587280,47.777960, 
20.588280,47.778300, 
20.621870,47.789710,

我想解析整个文件,并将第一个坐标添加到名为纬度的整型变量,将第二个坐标添加到名为经度的整型变量。然后将两个变量打印到控制台并为每一行执行此操作 separately.I 知道我应该使用循环,但我不确定如何做到这一点,请大家帮帮我!

编辑:

到目前为止,这是我的代码:

        NSString *latitude = @"0";
        NSString *longitude = @"0";
        NSString* filePath = @"/Users/Balazs/coordinates.txt";



        NSString *entireFileInString = [NSString stringWithContentsOfFile:filePath];
        NSArray *lines = [entireFileInString componentsSeparatedByString:@","];
        for (NSString *line in lines) {
                latitude = line;
        }
        NSLog([NSString stringWithFormat:@"%@",latitude]);

我知道如何将整个文本读入 latitude 变量,而不仅仅是第一部分,而不是逐行读入。读取的文本也存储为字符串,所以我不确定如何将它们转换成双精度数。

PS: 很抱歉这个菜鸟问题!!:/

假设文本文件在您的包中,您可以将文本存储在 NSString 中,如下所示:

NSString* path = [[NSBundle mainBundle] pathForResource:@"coordinates" 
                                                 ofType:@"txt"];

NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];

然后使用 componentsSeparatedByString: 将文本分成几行,循环遍历每一行,然后在打印前再次使用 componentsSeparatedByString: 将每一行分成经度和纬度值。例如:

NSArray *lines = [content componentsSeparatedByString:@"\n"];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@","];
    double latitude = [[values objectAtIndex:0] doubleValue];
    double longitude = [[values objectAtIndex:1] doubleValue];
    NSLog(@"%f, %f", latitude, longitude);
}