gpt4 book ai didi

iphone - 添加 NSArrays 到 NSDictionary

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

我正在解析格式为以下的 XML 文件:

**注意:这是一个非常简化的 XML 版本。下属11个科室,共87个科室

<division>
<name> Sciences </name>
<departments>

<department>
<name> Computer Science </name>
</department>

<department>
<name> Biology </name>
</department>

<department>
<name> Chemistry </name>
</department>

</department>
</division>

我希望做的是在 UITableView 中显示此信息,部门名称作为部分,部门名称在每个适当的部分中。

我有一个名为 divisionDict 的 NSDictionary,我想为每个分区存储 NSArrays;含部门。我还有一个名为 departmentArray 的 NSMutableArray,它包含每个部门。所以本质上,我想要一个充满 departmentArrays 的 divisionDict。

这是我解析 XML 的代码,它工作得很好,我只是在字典中存储单独的数组时遇到了问题。当它现在通过解析时,我尝试用键“Sciences”打印出数组中的元素,它打印出每个部门的部门,而不仅仅是科学。

if(node_divisions)
{
node_division = [TBXML childElementNamed:@"division" parentElement:node_divisions];

while (node_division)
{
node_divisionName = [TBXML childElementNamed:@"name" parentElement:node_division];];
node_departments = [TBXML childElementNamed:@"departments" parentElement:node_division];
node_department = [TBXML childElementNamed:@"department" parentElement:node_departments];
divisionName = [TBXML textForElement:node_divisionName];
while(node_department)
{
node_departmentName = [TBXML childElementNamed:@"name" parentElement:node_department];
departmentName = [TBXML textForElement:node_departmentName];
//add the department name to the array
[departmentArray addObject:departmentName];

node_department = node_department->nextSibling;
}
//add the departmentArray to the dictionary, using the division name as the key
[divisionDict setObject:departmentArray forKey:divisionName];;
node_division = node_division->nextSibling;
}
}

非常感谢任何帮助!!!我知道它很简单,我可能错过了,但我已经看了这个太多小时了,我就是看不到它。如果您需要任何其他信息,请告诉我,我已尽力详细解释所有内容。

另外,这里有一张图片,希望能帮助展示我想要描述的内容: http://i.stack.imgur.com/a9nSb.png

最佳答案

看起来您正在将每个部门的所有部门添加到同一个数组中。我认为您只需要为循环中的每个部分创建一个新数组:

while (node_division) 
{
departmentArray = [NSMutableArray array]; //add this line

关于iphone - 添加 NSArrays 到 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965662/

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