use*_*940 1 iphone parsing nsarray
我试图通过Web服务解析一些JSON.逻辑是:
id jsonObject = ....; //This can be string or array
if([jsonObject class] == [NSString class] || [jsonObject class] == [NSMutableString class]{
// DO some thing
}
else if([jsonObject class] = [NSArray class] || [jsonObject class] == [NSMutableArray class]{
// Do some thing else
}
Run Code Online (Sandbox Code Playgroud)
然而,对于其中一个元素,我遇到了一个奇怪的问题.这个元素的类应该是NSArray,但是当我运行代码时,我将该类视为__NSArrayM.这与第二个if块不匹配.
有人可以告诉我我做错了什么
小智 5
改为使用:
if ([jsonObject isKindOfClass:[NSArray class]]) {
}
Run Code Online (Sandbox Code Playgroud)
对于类集群,这是唯一正确的方法 - isKindOfClass检查对象是类的实例还是其子类之一.有一个类似的方法,isMemberOfClass:,它测试严格的类相等/成员资格(即没有子类实例被认为是相等的).
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |