2

我有一个看起来像这样的 plist。我通常使用以下代码行访问:

在此处输入图像描述

NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
CGFloat redFloat = (CGFloat)[[plistDict objectForKey:@"red"] floatValue];

但是,由于它是嵌套的 - 我如何访问 BackgroundColour 中的红色?

谢谢。

4

3 回答 3

3

绝对:读plist入字典会给你一个字典字典,所以你需要先访问BackgroundColour

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

新语法使您可以用更少的字符编写它:

CGFloat redFloat = (CGFloat)[plistDict[@"BackgroundColour"][@"red"] floatValue];
于 2013-08-19T13:33:33.707 回答
1

您也可以使用valueForKeyPath:快捷方式:

CGFloat redFloat = (CGFloat)[[plistDict valueForKeyPath:@"BackgroundColour.red"] floatValue];
于 2013-08-19T13:35:00.837 回答
0
CGFloat redFloat = [[[plistDict objectForKey:@"BackgroundColour"] objectForKey:@"red"] floatValue];
于 2013-08-19T13:35:12.353 回答