Ich möchte Daten aus der PLIST-Datei meines Projekts abrufen, die sortiert werden sollte. Jetzt sieht mein plist wieAbrufen von Daten aus PLIST in NSDictionary
<?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>code</key>
<string>AF</string>
<key>phone_code</key>
<string>93</string>
<key>name</key>
<string>Afghanistan</string>
</dict>
<dict>
<key>code</key>
<string>AL</string>
<key>phone_code</key>
<string>355</string>
<key>name</key>
<string>Albania</string>
</dict>
und so weiter auf bis zu letzten country.And I-Daten am Holen ähnlichen
NSString* path = [[NSBundle mainBundle] pathForResource:@"CountriesWithPhoneCodes" ofType:@"plist"];
NSArray* a = [NSArray arrayWithContentsOfFile:path];
for (NSDictionary *d in a)
{
NSString *cdate = [d objectForKey:@"CDate"];
if ([cdate isEqualToString:@"Whatever is currently selected"])
{
NSString *text = [d objectForKey:@"Text"];
// do something with text here
}
}
NSDictionary *dict = [[NSDictionary alloc]init];
dict = [self indexKeyedDictionaryFromArray:a];
NSLog(@"This is %@",[[dict allValues]objectAtIndex:0]);
Der Ausgang ich immer bin, ist
This is {
code = AF;
name = Afghanistan;
"phone_code" = 93;
}
aus dem ich Ich kann nicht richtig auf Daten zugreifen. Wie kann ich ein Wörterbuch mit phone_code als Wert und Land als Schlüssel erstellen?
worauf möchten Sie zugreifen? Dies ist { Code = AF; Name = Afghanistan; "Telefoncode" = 93; } –
Es ist ziemlich unklar. 'd' hat keinen Schlüssel' "CDate" '. Sie können ein Prädikat oder 'indexOfObjectPassingTest:' verwenden, um das gewünschte Wörterbuch zu finden. Wenn Sie statt der Verwendung eines Arrays die Unicity für den Ländernamen berücksichtigen, können Sie stattdessen auch den Ländernamen als Schlüssel verwenden und ein Wörterbuch auf oberster Ebene verwenden. – Larme
Was meinen Sie mit "von dem aus ich nicht richtig auf Daten zugreifen kann"? Sie möchten lieber ein Wörterbuch, das nur 'name' und' phone_code' enthält? – dirtydanee