2017-07-10 2 views
0

Je travaille avec JSONModel dans notre projet de groupe et j'ai rencontré un problème lorsque les serveurs ont décidé de changer leurs données de réponse de TitleCase à camelCase. Pour le moment, nous devrons prendre en charge les deux options, j'espérais donc que puisque nous utilisions déjà JSONModel, je pourrais utiliser ses fonctionnalités pour résoudre notre problème, mais je n'arrive pas à trouver un moyen facile de le faire.en utilisant JSONModel avec détection insensible à la casse

Actuellement, nous pouvons faire la conversion JSONModel et puis après coup, vérifier les autres clés (camelCase) mais j'espérais faire cela plus génériquement dans JSONModel lui-même.

J'ai regardé dans keyMapper mais cela me laisse juste changer ce qu'il cherche, il ne semblera pas vérifier les deux.

J'ai déjà essayé quelque chose comme ça;

- (void)setCountryCodeWithNSDictionary:(NSDictionary *)dictionary { 
    if ([dictionary[@"CountryCode"] isMemberOfClass:[NSString class]]) { 
     self.CountryCode = dictionary[@"CountryCode"]; 
    } 
    if ([dictionary[@"countryCode"] isMemberOfClass:[NSString class]]) { 
     self.CountryCode = dictionary[@"countryCode"]; 
    } 
} 

Mais cela ne semble pas fonctionner non plus pour une raison quelconque.

Je suppose qu'une question plus générale serait, comment faire pour que la détection de clé JSONModel soit insensible à la casse?

Toute aide à ce sujet serait grandement appréciée.

Répondre

0

Je voudrais mettre toutes les clés à leur équivalent en minuscules lors de la création de ma copie du dictionnaire et comparer toujours par rapport à possibleKey.lowercased()