0

我有一个名为“hhhh.txt”的文件,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
            <key>aa</key>
            <string>2012-06-26 14:25:43</string>
    </dict>
    <dict>
            <key>bb</key>
            <string>2012-06-26 14:25:49</string>
    </dict>
    <dict>
            <key>cc</key>
            <string>2012-06-26 14:25:51</string>
    </dict>
</array>
</plist>

我还有一个名为“显示历史记录”的按钮。单击它时,我想在一个小窗口中的 tableview 中显示键的名称,即“aa”、“bb”、“cc”。

目前,我在 .m 文件的“showHistoryPressed”函数中编写了以下代码行::

NSString *hisDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *historyFilePath = [hisDir stringByAppendingPathComponent:@"hhhh.txt"];

我想读取 hhhh.txt 文件,然后解析键.. 然后单击“显示历史记录”按钮在 tableView 中显示它们的名称。

我现在应该如何进行?谢谢并恭祝安康。

4

3 回答 3

0
NSArray *array = [NSArray arrayWithContentsOfFile:historyFilePath ];

将是包含字典的数组。
为了获得所有钥匙,你可以拥有这个

NSMutableArray *keys = [[NSMutableArray alloc] init];
for (NSDictionary *dict in array) {
  [keys addObjectsFromArray:[dict allKeys]];
}
于 2012-06-26T09:15:29.133 回答
0
NSArray *arrayOfDictionary = [[NSArray alloc] initWithContentsOfFile:historyFilePath ];

上面的代码错误地获取文本文件中存在的字典数组

现在您可以从字典中获取与键关联的字符串,如下所示

NSMutableArray *strings = [[NSMutableArray alloc] init];
for (NSDictionary *dict in arrayOfDictionary) 
{
  [strings addObjectsFromArray:[dict allKeys]];
}
于 2012-06-26T09:20:22.770 回答
0
NSArray *arr = [NSArray arrayWithContentsOfFile:historyFilePath ];

NSMutableArray *tableContentArray = [[NSMutableArray alloc] init];
for (NSDictionary *dict in arr) {
  [tableContentArray addObject:[dict objectForKey:@"key"]];
}

now load your table view with this tableContentArray

希望这会帮助你..

于 2012-06-26T10:10:56.687 回答