Comment le type de retour de la méthode d'essai en Objective-c
-
27-10-2019 - |
Question
Je travaille sur une application qui parler Rest service Web. L'analyseur JSon J'utilise est SBJson. Il y a ce service Web sur le rendement côté serveur un Beana. Ce haricot contient un beanB. Une partie de la Json je me suis du côté du serveur est comme ça quand il y a plusieurs grains:
BeanB =
(
{
key = 12;
name = test2bbb;
},
{
key = 11;
name = test2ttt;
}
);
quand il y a juste un haricot, il ressemble à ceci:
BeanB =
{
key = 10;
name = test3;
};
En passant par l'analyseur SBJson, je me suis un dictionnaire quand il n'y a qu'un seul BeanB retourné, et a obtenu un tableau quand il y a plus d'un BeanB retourné. Le code, je recevais les haricots sont:
NSArray/NSDictionary *BeanB = [BeanADic objectForKey:@"beanB"];
Le problème est que je ne peux pas prédire ce que je suis va obtenir du côté serveur. Y at-il un moyen de tester le type de retour?
La solution
Ceci est un cas où il convient de vérifier la classe de la valeur retournée.
id beanB = [beanADic objectForKey:@"tagBeans"];
if ([beanB isKindOfClass:[NSDictionary class]]) {
NSDictionary *beanDic = beanB;
...