根据打印输出从 NSDictionary 访问信息



我正在使用NSLog(@"%@", [filter attributes]);从字典中打印出以下内容:

CIAttributeFilterDisplayName = "Color Controls";
CIAttributeFilterName = CIColorControls;
inputBrightness =     {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = "-1";
    CIAttributeType = CIAttributeTypeScalar;
};

我对NSDictionarys以及信息的组织方式有点困惑。如果我需要访问inputBrightness的属性,从字典中检索此语法是什么?

如果要从字典filter中检索inputBrightness,可以尝试以下操作:

NSDictionary *inputBrightnessDict = filter[@"inputBrightness"]; //or [filter valueForKey:@"inputBrightness"];

这将返回另一个字典,其键值对CIAttributeClassNSNumberCIAttributeDefault0等。

您可以通过查看 NSLog 语句来确认filter[@"inputBrightness"]是字典。括在 {} 中的键值对表示字典,其中 as () 表示数组。

为了从inputBrightnessDict中检索任何值,您可以将其获取为inputBrightnessDict[@"CIAttributeType"];

[filter objectForKey:inputBrightness];

希望这有帮助..

字典使用对象和键的概念。您可以使用键检索对象。键对象成对出现。

最新更新