gpt4 book ai didi

iOS:使用 for-in 循环管理 Dictionray 数据

转载 作者:行者123 更新时间:2023-11-29 04:32:12 24 4
gpt4 key购买 nike

我使用以下代码来浏览 NSMutableDictionary

        NSMutableDictionary *item;
for (item in menuArray) {
BSThirdLayerViewController *nextLayer = [[BSThirdLayerViewController alloc] initWithStyle:UITableViewStylePlain];
nextLayer.title = [item valueForKey:@"title"];
nextLayer.rowImage = [item valueForKey:@"image"];
[array addObject:nextLayer];
}

字典是从以下 plist 文件加载的。

<?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>Item 0</key>
<dict>
<key>title</key>
<string>East Coast</string>
</dict>
<key>Item 1</key>
<dict>
<key>title</key>
<string>West Coast</string>
</dict>
<key>Item 2</key>
<dict>
<key>title</key>
<string>South Rhodes</string>
</dict>
</dict>
</plist>

在 for-in 循环期间,item 变量将具有什么样的数据?尝试访问时程序崩溃

[item valueForKey:@"title"];

这似乎合乎逻辑,但到底发生了什么?

感谢您的宝贵时间。

最佳答案

plist 似乎定义了一个字典,而不是一个数组。因此,“item”将是一个键(即字符串)、Item 0、Item 1 等。使用该键,您可以使用 NSDictionary *dict = [dictionary objectForKey:item] 向字典询问该键的值;

当您遇到此类问题时,让系统帮助您 - 通过使用 NSLog() 将其转储到控制台来查看您从 plist 创建的对象中的内容。这将为您节省大量时间,并确认您确实得到了想要的东西。

关于iOS:使用 for-in 循环管理 Dictionray 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578339/

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