0

如何将 txt 文件解析为 NSDictionary?

我的文件看起来像

JACK - (mr) - address
99000 - City
Phone : 09 93 81 48 51
Website

这是我的代码:

NSString *file = [[NSBundle mainBundle]pathForResource:@"MyFile" ofType:@"txt"];
NSError *error;

NSString *text = [NSString stringWithContentsOfFile:file encoding:NSUTF8StringEncoding error:&error];

NSArray * testArray = [[NSArray alloc] init];
testArray = [text componentsSeparatedByString:@" \n"];

之后

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
for (NSString *s in testArray)
{
    NSArray *arr = [s componentsSeparatedByString:@" -"];
    [dict setObject:[arr objectAtIndex:0] forKey:@"name"];
    NSLog(@"Dictionary: %@", [dict description]);   
}

我的 NSLog 给了我:

Dictionary: {
        name = "JACK";
}

如何解析文件的其余部分以获取“mr”并在地址之后......?

4

1 回答 1

0

从您发布的代码中,您似乎只要求 arr 获取 arr 数组中的第一个元素。尝试这个:

int i= 0;
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
for (NSString *s in testArray)
{
    NSArray *arr = [s componentsSeparatedByString:@" -"];
    for(NSString * pstrSubComponent in arr)
    {
          [dict setObject:pstrSubComponent forKey:paKeysArray[i++]];   
    }
}

NSLog(@"Dictionary: %@", [dict description]);

您必须使用您希望在文件中使用的所有键来制作 paKeysArray。这假设您知道文件中数据的顺序并且它是一致的。

于 2012-08-26T20:07:24.850 回答