iOS访问字典

iOS访问字典,ios,plist,Ios,Plist,我有一张像这样的照片。我通常使用以下代码行进行访问: NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; CGFloat redFloat = (CGFloat)[[plistDict objectForKey:@"red"] floatValue]; 然而,由于它是嵌套的-如何访问BackgroundColor中的红色 谢谢。绝对正确:将plist读入

我有一张像这样的照片。我通常使用以下代码行进行访问:

NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
CGFloat redFloat = (CGFloat)[[plistDict objectForKey:@"red"] floatValue];
然而,由于它是嵌套的-如何访问BackgroundColor中的红色

谢谢。

绝对正确:将plist读入词典会为您提供一本词典词典,因此您需要首先访问背景颜色:

新语法允许您使用更少的字符编写:

CGFloat redFloat = (CGFloat)[plistDict[@"BackgroundColour"][@"red"] floatValue];
绝对正确:将plist读入词典会为您提供一本词典词典,因此您需要首先访问背景颜色:

新语法允许您使用更少的字符编写:

CGFloat redFloat = (CGFloat)[plistDict[@"BackgroundColour"][@"red"] floatValue];
您也可以使用valueForKeyPath:创建快捷方式:

CGFloat redFloat = (CGFloat)[[plistDict valueForKeyPath:@"BackgroundColour.red"] floatValue];
您也可以使用valueForKeyPath:创建快捷方式:

CGFloat redFloat = (CGFloat)[[plistDict valueForKeyPath:@"BackgroundColour.red"] floatValue];

即使修复了@BackgroundColor键的名称,这也是无效的强制转换,因为红色是字符串。即使修复了@BackgroundColor键的名称,这也是无效的强制转换,因为红色是字符串。