当 JSON 响应具有无效值时,我将重构许多旧代码,以使客户端对错误的服务器响应和日志异常更加健壮,并且我正在考虑使用 respondsToSelector 检查每个节点的有效性(数据类型)。
我正在检查响应中的数据类型(int、bool 等)
[[json objectForKey: @"feature_enabled"] boolValue],
如果 @"feature_enabled" 节点的值不是 0 或 1,则应用程序会崩溃
为了解决这个问题,我会这样做
if ([[json objectForKey: @"feature_enabled"] respondsToSelector: @selector(boolValue)]){
BOOL featureEnabled = [[json objectForKey: @"feature_enabled"] boolValue];
}else{
Log Exception
}
我没有对此代码进行任何类型的性能分析,但我想知道是否有人可以建议如果我要检查对我打算解析的每个 JSON 响应的选择器的响应,我应该期望什么样的性能损失.
任何指向信息来源的指针表示赞赏!