objective-c - 如何处理 '[<__NSCFString 0x2f1730> valueForUndefinedKey:]: this class is not key value coding-compliant for the key $oid' 错误

标签 objective-c ios undefined key-value-coding

我遇到了错误(在主题中说明),因为有时属性“id”不会在返回的 json 中存储包含“$oid”的散列。例如

有时我得到:

"id":{"$oid":"4eea972209f47a0028000140"}

有时我得到

"id":"4eea972209f47a0028000140"

我正在尝试检查以下代码以解决此类不规则问题

if ([[question valueForKey:@"id"] valueForKey:@"$oid"])
{
    question_id = [[question valueForKey:@"id"] valueForKey:@"$oid"];
}
else
{
    question_id = [question valueForKey:@"id"];
}

但是,它仍然无法正常工作,因为代码在检查阶段失败了。

我如何实现检查,以便仅当“$oid”存在时我才从它获取 question_id?

最佳答案

试试下面的代码。

id quesDict = [question valueForKey:@"id"];
if( [quesDict isKindOfClass:[NSDictionary class]] )
{
    question_id = [quesDict valueForKey:@"$oid"];
}
else
{
    question_id = quesDict;
}

关于objective-c - 如何处理 '[<__NSCFString 0x2f1730> valueForUndefinedKey:]: this class is not key value coding-compliant for the key $oid' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754860/

相关文章:

javascript - 调用 ajax 时在 javascript 中获取未定义

c++ - 编译时 x86_64 的 undefined symbol

javascript - 为什么state对象的名字不需要和setState中的名字一致?

objective-c - 如何从 iOS 应用程序发布到 Facebook 和 Twitter 墙

ios - 仅通过 hockeyapp 构建发生的崩溃?

ios - 如何在 iOS 中设置状态栏以显示消息?

ios - 磁盘图像缓存上的 AFNetworking 3.0

objective-c - NSUserDefaults 在哪里存储信息?

objective-c - 如何从 JSON 中解析 base64 图像

ios - ReactiveCocoa- 如何使用 'switchToLatest' 处理信号?