我是编码新手,所以如果这似乎是一个简单的问题,请原谅。
我正在尝试在地图上绘制坐标。
我想读取一个 CSV 文件并将信息传递给两个单独的数组。
第一个数组是 NSArray *towerInfo(包含纬度、经度和塔名)
第二个,NSArray *region(包含塔标题和区域),与第一个数组具有相同的计数索引。
本质上,我相信我需要;
1)将文件读入字符串.....
2) 将字符串分成一个临时数组,在每个/n/r处分隔......
3) 循环遍历 temp 数组并在每次将此信息附加到两个主存储数组之前创建一个 tower 和 region 对象。
这是正确的过程吗?如果是这样,是否有人可以发布一些示例代码,因为我真的很难做到这一点。
提前感谢大家。
克里斯。
我对此进行了编辑以显示我的代码示例。我遇到的问题是我收到警告说
1)“'dataStr'的局部声明隐藏了实例变量。2)“'array'的局部声明隐藏了实例变量。
我想我明白这些是什么意思,但我不知道如何绕过它。程序编译并运行,但日志告诉我“数组为空”。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize dataStr;
@synthesize array;
-(IBAction)convert {
//calls the following program when the onscreen 'convert' button is pressed.
NSString *dataStr = [NSString stringWithContentsOfFile:@"Towers.csv" encoding:NSUTF8StringEncoding error:nil];
//specifies the csv file to read - stored in project root directory - and encodes specifies that the format of the file is NSUTF8. Choses not to return an error message if the reading fails
NSArray *array = [dataStr componentsSeparatedByString: @","];
//splits the string into an array by identifying data separators.
NSLog(@"array: %@", array);
//prints the array to screen
}
任何额外的帮助将不胜感激。感谢您到目前为止的回复。