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...
答案 0 :(得分:0)
改为使用NSAssert([componenti isKindOfClass:[NSMutableArray class]],@"err");
。
我从未真正研究过这种行为,但似乎每次实例化NSMutableArray时,都会收到__NSArrayM的实例作为回报。 __NSArrayM是NSMutableArray的子类。
顺便说一句,SBJson是一个优秀的解析器,我现在已经使用了一段时间。