在嵌套字典和数组中防御 nil 值的最有效方法是什么?
我有一个包含字典的数组,其中包含数组,其中包含字典,所以我有一个想要返回如下内容的方法:
return myArray[0][@"Categories"][0][@"Content"];
目前我有以下内容,但我想知道是否有更清洁或更优雅的方式来保护这些嵌套结构:
if (myArray) {
// Add a check for myArray.count > 0
if ([myArray[0] objectForKey:@"Categories"]) {
// Add a check for myArray[@"Categories"].count > 0
if ([myArray[0][@"Categories"][0] objectForKey:@"Content"]) {
return myArray[0][@"Categories"][0][@"Content"];
}
}
}
有一个更好的方法吗?有没有我没堵住的洞?提前致谢!
编辑:我添加了添加检查数组计数的注释。通过这些添加,我对 myArray[0][@"Categories"][0][@"Content"] 对象的访问安全吗?