我们遇到了无数的JSON Feed问题,这些问题在处理(使用AFNetworking JSON Framework)时会导致[__NSCFString objectForKey:]
错误导致应用程序崩溃。
我们知道为什么会这样,因为字符串占据了预期NSDictionary
的位置。
但我在想,是不是可以制作一个objectForKey
函数的类别或子类来快速检查有问题的对象是否完全是一个字典?在ObjectForKey
s NSArray
{{1}}上有同样的感觉。
这样可以明确降低我们项目中再次发生问题的风险。
答案 0 :(得分:1)
我认为没有像......那样的功能太难了。
- (NSString*)stringForKey:(id)key;
你可以做点像......
- (NSString*)stringForKey:(id)key
{
id object = [self objectForKey:key];
if ([object isKindOfClass:[NSString class]]) {
return (NSString*)object;
}
return nil;
}
您也可以使用类似的其他对象类型。
这样你总能得到你期望的对象类型或者没有。
修改强>
事实上,在做了一些搜索之后。我认为这个功能已经存在于NSDictionary中。 (由于jrturton的更正。这仅适用于NSUserDefaults。)