Является ли этот NSDictionary действительным, как он настроен?Использование плагина XML to NSDictionary - PullRequest
0 голосов
/ 03 января 2012

Я использую плагин XMLReader, найденный здесь https://github.com/Insert-Witty-Name/XML-to-NSDictionary, чтобы преобразовать мои данные XML в NS-словарь, но меня смущает то, как настраивается словарь. Вот что мне дают:

 {
     response =     {
         "@status" = ok;
         authentication =         {
             "@description" = "The username you provided is valid.";
             "@login" = USERNAME;
             "@response" = success;
             "@user_id" = USERID;
         };
     };
 }

Я пытаюсь взять объект ответа и сказать, что ключ равен успеху, затем что-то сделать, но я не уверен, правильно ли настроен этот словарь.

1 Ответ

0 голосов
/ 03 января 2012

Несмотря на странность использования @names в качестве ключей, оно кажется действительным.

Вы можете легко запросить ответ элемента ([ objectForKey:@"response"]), получить [ objectForKey:@"authentication"], а затем [ objectForKey:@"@response"] для проверки [yourString isEqualToString:@"success"].

Редактировать: Добавление примера

Я недавно заметил некоторые;где запятые должны были быть, но будем надеяться, что это просто опечатка или что-то в этом роде.

Если у вас есть сомнения, вы всегда можете NSLog(@"%@", [yourFirstDictionary allKeys]); убедиться, что это действительные ключи.

Давайте назовем ваш первый объект myDict ради примера.

NSDictionary * response = [myDict objectForKey:@"response"]; // this should have @status and authentication as keys
NSDictionary * authentication = [response objectForKey:@"authentication"];
NSString * innerResponse = [authentication objectForKey:@"@response"];

if ([innerResponse isEqualToString:@"success"]) {
    // your code
}
...