Как библиотека SBJson для target-c отображает массив?(вы рекомендуете это?) - PullRequest
1 голос
/ 20 сентября 2010
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSMutableArray *componenti = [parser
                               objectWithString:@"[\"Item1\",\"Item2\"]"];
NSAssert([componenti isMemberOfClass:[NSMutableArray class]],@"err");

Этот код дает мне утверждение не удалось.Что не так?

В заголовочном файле написано:

@brief The JSON parser class.

JSON is mapped to Objective-C types in the following way:

@li Null -> NSNull
@li String -> NSMutableString
@li Array -> NSMutableArray
etc...

1 Ответ

0 голосов
/ 20 сентября 2010

используйте NSAssert([componenti isKindOfClass:[NSMutableArray class]],@"err"); вместо.

Я никогда не исследовал это поведение, но, похоже, каждый раз, когда вы создаете экземпляр NSMutableArray, вы получаете взамен экземпляр __NSArrayM. __NSArrayM является подклассом NSMutableArray.

И, кстати, SBJson - отличный парсер, и я использую его некоторое время.

...