2012-07-19 50 views
0

我有一个.txt文件::添加唯一条目到一个数组 - Xcode中/ Objective-C的

<?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中。

我该怎么做?尤其是两个时间戳的比较..有人可以帮助我?感谢致敬。

+0

“我在.txt文件中有以下文本” - 您可能希望将其更改为.plist。 – pasawaya 2012-07-19 06:00:12

+0

不,因为我想扩展名为.txt! – kamalbhai 2012-07-19 06:04:54

+0

但是,您想将它们添加到数组并使其成为.plist文件,这大大简化了此过程。这里的顶部答案()在4行代码中执行它...此外,您的.txt文件是.plist格式。看看第二个标签:“<!DOCTYPE plist ...” – pasawaya 2012-07-19 06:07:08

回答

1

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

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

这可能会工作,但你应该逐个增加,而不是将所有的密钥对象之一。

+0

什么是objectFromDictionay?是否与'dict'一样? – kamalbhai 2012-07-19 06:32:29

+0

雅字典是字典的对象。如果你解析这个,你可以得到所有的键,然后通过使用上面的条件,你可以将元素唯一地放在数组中。我不知道你为什么在这里使用字典 – 2012-07-19 06:39:19

相关问题