gpt4 book ai didi

NSDictionary PList 中的 iPhone 对象

转载 作者:行者123 更新时间:2023-12-03 19:15:13 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个部分从保存的 plist 加载,该 plist 有 2 个嵌套字典,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>1</key>
<dict>
<key>color</key>
<string>yellow</string>
<key>lang</key>
<string>US</string>
<key>name</key>
<string>Peter</string>
<key>uid</key>
<string>1</string>
</dict>
<key>2</key>
<dict>
<key>color</key>
<string>blue</string>
<key>lang</key>
<string>US</string>
<key>name</key>
<string>Josh</string>
<key>uid</key>
<string>2</string>
</dict>
<key>3</key>
<dict>
<key>color</key>
<string>red</string>
<key>lang</key>
<string>DE</string>
<key>name</key>
<string>Susan</string>
<key>uid</key>
<string>3</string>
</dict>
</dict>
</plist>

现在我想从键 2 访问类似外部字典的字符串,内部键颜色的值(蓝色)我尝试制作 2 个循环,它适用于外部字典,但我无法访问内部

NSMutableDictionary *savedData = [NSMutableDictionary dictionaryWithContentsOfFile:path]; // This contains all data from plist

for (int x=0; x<[savedData count]; x++) {
NSString *itemNumber = [NSString stringWithFormat:@"%d", x+1];

//This prints out the correct inner dictionary
NSLog(@"item#%@: %@",itemNumber,[savedData objectForKey:itemNumber]);


for (NSDictionary *dict in [savedData objectForKey:itemNumber]) {
//prints out color, lang, uid, but no key-value pairs
NSLog(@"dict: %@",dict);
}
}

我想知道如何直接访问内部字典中的键值对,有人可以给我一个正确的方向吗?

最佳答案

这个怎么样:

NSString *blueColorString = [[savedData objectForKey:@"2"] objectForKey:@"color"];

技巧是嵌套方法调用,第一个 [savedData objectForKey:2] 返回您可以再次调用该方法的内部字典对象。希望这能按预期工作。

最好,罗宾

关于NSDictionary PList 中的 iPhone 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com