У меня есть NSDictionary, отформатированный из plist:
<plist version="1.0">
<dict>
<key>Contents</key>
<array>
<dict>
<key>date</key>
<string>20110323</string>
<key>name</key>
<string>update.zip</string>
<key>url</key>
<string>http://intranet.webaddress.com/mobile/ipad/</string>
</dict>
<dict>
<key>date</key>
<string>20120323</string>
<key>name</key>
<string>plns.galleryy.zip</string>
<key>url</key>
<string>http://intranet.webaddress.com/mobile/ipad/</string>
</dict>
</array>
</dict>
</plist>
Мне нужно зациклить NSDictionary и получить любые значения имени, у которых строка даты больше, чем я предоставляю.Таким образом, псевдокод (хотя и работает) будет выглядеть так:
NSMutableArray *urls = [NSMutableArray arrayWithCapacity:1];
NSMutableDictionary *capabilities;
capabilities = [[myData libraryDictionary] valueForKey:@"Contents"];
for (int i=0; i<[myData libraryCount]; i++) {
NSString *value = [[capabilities valueForKey:@"date"] objectAtIndex:i];
if ([value compare: @"20120323"] == NSOrderedSame)
{
NSLog(@"Equal");
NSLog(@"%@",value);
NSString *saveValue = [[capabilities valueForKey:@"name"] objectAtIndex:i];
[urls addObject:saveValue];
NSLog(@"%@",saveValue);
}
else
{
NSLog(@"Not Equal");
}
}
Тогда я буду загружать только те файлы, у которых есть дата, которая предшествует дате, которую я предоставил.В этом простом примере я бы только добавил plns.galleryy.zip в свой изменяемый массив.
Может кто-нибудь помочь мне с этой проблемой?Вышеуказанное работает, но это лучший способ?
Примечание: [myData libraryDictionary] - мой словарь, и он отлично читает для других целей.
Большое спасибо