从文档文件夹中存储的文件进行解析后,在TableView中显示内容 - 目标C.

时间:2012-06-26 09:05:19

标签: iphone objective-c ios xcode ipad

我有一个名为“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>

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

目前,我在.m file ::

的“showHistoryPressed”函数中编写了以下代码行
NSString *hisDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *historyFilePath = [hisDir stringByAppendingPathComponent:@"hhhh.txt"];

我想阅读hhhh.txt文件然后解析密钥..然后在点击“显示历史记录”按钮后在tableView中显示他们的名字。

我现在该怎么办?谢谢和问候。

3 个答案:

答案 0 :(得分:0)

NSArray *array = [NSArray arrayWithContentsOfFile:historyFilePath ];

将是包含词典的数组。
要获得所有密钥,您可以拥有此

NSMutableArray *keys = [[NSMutableArray alloc] init];
for (NSDictionary *dict in array) {
  [keys addObjectsFromArray:[dict allKeys]];
}

答案 1 :(得分:0)

NSArray *arrayOfDictionary = [[NSArray alloc] initWithContentsOfFile:historyFilePath ];

上面的代码错误提取文本文件中的字典数组

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

NSMutableArray *strings = [[NSMutableArray alloc] init];
for (NSDictionary *dict in arrayOfDictionary) 
{
  [strings addObjectsFromArray:[dict allKeys]];
}

答案 2 :(得分: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
希望这会对你有所帮助..