0

ファイルに次のテキストがあり.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-07-19 11:16:00</string>
    </dict>
    <dict>
            <key>bb</key>
            <string>2012-07-19 11:16:02</string>
    </dict>
    <dict>
            <key>cc</key>
            <string>2012-07-19 11:16:05</string>
    </dict>
    <dict>
            <key>dd</key>
            <string>2012-07-19 11:16:07</string>
    </dict>
    <dict>
            <key>aa</key>
            <string>2012-07-19 11:16:10</string>
    </dict>
    <dict>
            <key>bb</key>
            <string>2012-07-19 11:16:13</string>
    </dict>

次のコード行を使用して、これらのコンテンツを配列に入れます::

self.kkkk = [NSMutableArray array];

NSString *Dir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filePath = [Dir stringByAppendingPathComponent:@"abcd.txt"];

NSArray *array = [NSArray arrayWithContentsOfFile:filePath ];
kkkk = [[NSMutableArray alloc] init];
for (NSDictionary *dict in array) {
    [kkkk addObjectsFromArray:[dict allKeys]];

}

コンテンツを追加する際に、aa、bb、cc、および dd の一意の値のみを入力したいと考えています。このために、最新のタイムスタンプとともに配列 kkkk に 1 つのエントリを入れたいと思います。

どうやってやるの ??特に2つのタイムスタンプの比較..誰かが私を助けることができますか?? ありがとうございます。

4

1 に答える 1

1

最初に辞書からすべてのオブジェクトを取得し、次に以下を確認します

for (NSDictionary *dict in array) 
{
    if(![kkkk containsObject:objectFromDictionary])
    {
       [kkkk addObjectsFromArray:[dict allKeys]];
    }
}

これでうまくいくかもしれませんが、すべてのキーを追加するのではなく、オブジェクトを 1 つずつ追加する必要があります。

于 2012-07-19T06:23:18.277 に答える