将唯一条目添加到数组中 - Xcode / Objective-C

时间:2012-07-19 05:56:36

标签: iphone objective-c ios xcode ipad

我在.txt file ::

中有以下文字
<?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 个答案:

答案 0 :(得分:1)

首先从字典中获取所有对象,然后检查以下

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

这可能有效,但您应该逐个添加对象,而不是添加所有键。