Iphone 将下载的数据放入词典的最佳方式

Iphone 将下载的数据放入词典的最佳方式,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,这是我清理后的数据: | 3.9|JG0058|. 1|88/ADJUSTED|N384721......|W0982403......|C...|A 295 | 3.3|JG0713|2 .|29/VERT ANG|N384357.45928|W0982552.48655|....|ASTRO STAKE TEMPORARY | 1.4|JG0054|. 1|88/ADJUSTED|N384459......|W0982059......|C...|B 295 | 4.4|JG0059|. 1

这是我清理后的数据:

| 3.9|JG0058|. 1|88/ADJUSTED|N384721......|W0982403......|C...|A 295
| 3.3|JG0713|2 .|29/VERT ANG|N384357.45928|W0982552.48655|....|ASTRO STAKE TEMPORARY
| 1.4|JG0054|. 1|88/ADJUSTED|N384459......|W0982059......|C...|B 295
| 4.4|JG0059|. 1|88/ADJUSTED|N384749......|W0982403......|B...|BB 190
| 1.5|JG0055|. 1|88/ADJUSTED|N384530......|W0982142......|B...|BLACK WOLF
| 2.0|JG0700|3 3|29/LEVELING|N384358.55373|W0982006.77896|....|BLACK WOLF
| 2.6|JG0052|. 1|88/ADJUSTED|N384438......|W0981921......|D...|C 295
| 2.3|JG0053|. 1|88/ADJUSTED|N384446......|W0981949......|B...|CC 190
| 4.6|JG0050|. 1|88/ADJUSTED|N384427......|W0981706......|C...|D 295
| 3.6|JG0051|. 1|88/ADJUSTED|N384430......|W0981817......|B...|DD 190
| 3.3|JG0712|1 .|29/VERT ANG|N384356.81442|W0982552.34585|....|JANDA
| 4.6|JG0711|2 .|29/SCALED..|N384053.85600|W0982456.07875|....|PROGRESS
| 4.9|JG0009|. 2|88/ADJUSTED|N384240......|W0981712......|C...|S 197
| 2.0|JG0056|. 1|88/ADJUSTED|N384555......|W0982251......|C...|Y 294
| 2.9|JG0057|. 1|88/ADJUSTED|N384636......|W0982335......|C...|Z 294
我想用以下键和类型将各行放入字典:

[@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];

[[NSString string],float, int, int,int, [NSString string], double, double, [NSString string], [NSString string], nil];
我似乎想不出最好的办法,所有的选择都让我头痛不已。如果可以的话,请帮忙。可能是用于将字符串读入字典或数组的代码段。顺便说一下,数据当前作为单个字符串存在于可变数组中。我的目的是使用这些数据填充单元格,并最终映射位置

任何帮助都将不胜感激。搜索数据通常需要1到2秒,而且不会超过30行


每行有8个项目,包括一个空白,我需要开始每行。除地平线/顶点外,其他所有关键点均由|分隔,地平线/顶点之间无任何分隔,仅由字母d或句点表示。那一栏从第三栏开始。我希望网站数据是一致的,但至少索引号不会跨行更改。

您可以这样做,假设您的数据是
NSString

NSArray *array = [data componentsSeparatedByString:@"|"];

然后循环遍历数据并将其放入字典中。

假设您的数据是一个
NSString

NSArray *array = [data componentsSeparatedByString:@"|"];

然后循环遍历数据并将其放入字典中。

您可以按如下方式分隔每个字符串:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
然后可以为该字符串创建字典,如下所示:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
其中keys是这样定义的数组:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
因此,您的代码将如下所示:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}

可以按如下方式分隔每个字符串:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
然后可以为该字符串创建字典,如下所示:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
其中keys是这样定义的数组:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
因此,您的代码将如下所示:

NSArray *values = [string componentsSeparatedByString:@"|"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
NSArray *keys = [NSArray arrayWithObjects:@"blank",@"Dist", @"PID", @"Horiz", @"Vert", @"Vert_Source", @"Latitude", @"Longitude", @"Stability", @"Designation", nil];
for (NSString *line in lines) {
    NSArray *values = [line componentsSeparatedByString:@"|"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    // ...
}
用|分隔每个数组,然后如果您有兴趣使用部分数组,可以这样设置。如果你不想使用字典


用|分隔每个数组,然后如果您有兴趣使用部分数组,可以这样设置。如果您不想使用字典。

您可以使用一个字典来表示这样的“记录”-(键、值)对-并将n个这样的记录放入表示“表”的数组中。通过字符串分隔的组件:@“|”将其拆分为单独的字段-适合加载记录(字典)并填充数组。

您可以使用一个字典来表示这样的“记录”-(键、值)对-并将n个这样的记录放在表示“表”的数组中。通过字符串分隔的组件:@“|”将其拆分为各个字段-适合加载记录(字典)并填充数组。

每行有多少项:8或10?每行有多少项:8或10?