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>

「履歴を表示」というボタンもあります。それをクリックすると、キーの名前、つまり「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 に答える