如何将子项/级别添加到plist(多级)的子键



我正在尝试在iphone上创建一个规划师应用程序。我想在另一个视图的plist中创建一个子键/行(这意味着,我将首先在一个视图中创建plist的结构,并在另一个视图中,我想将另一个项目添加到已经创建的plist中)。我希望我的列表看起来像这样:

根(数组)

  Item 0 (Dictionary)
        ProjectName (String)
        Stages (Dictionary)
               Analysis (Array)
                       ^Item 0 (Dictionary) 
                              Levels (String)
                              Tools (String)
                       ^Item 1 (Dictionary)
                              Levels (String)
                              Tools (String)
               Develop (Array)
 Item 1 (Dictionary)
        ProjectName (String)
        Stages (Dictionary)
               Analysis (Array)
                       ^Item 0 (Dictionary)
                              Levels (String)
                              Tools (String)
                       ^Item 1 (Dictionary)
                              Levels (String)
                              Tools (String)
               Develop (Array)

^目前,我没有项目0和项目1在我的分析数组,我想添加它,但我不知道正确的代码来做它。

因此,在我的第一个视图中,我将能够添加一个新项目,添加后,它将保存在我的plist作为一个字典,第一个项目0(我已经编写了代码,当用户保存新项目的阶段字典与分析和开发数组将创建在我的plist以及)。
—如果用户选择添加更多项目,则会有项目1,项目2等等。

用户创建(保存)一个新项目后,他/她可以进入第二个视图,在那里他/她可以选择一个阶段(分析/开发)。

因此,例如,用户选择了分析阶段,他/她将被带到另一个视图,该视图允许用户为特定阶段添加级别。

我面临的问题是我该如何在plist中添加另一个带有字符串的字典项到我现有的分析阶段(如何在plist中添加一个新的值/项到现有的字典/数组(行)中)?

提前感谢!

如果我理解正确的话,你应该这样做:

[analysisArray addObject:newDictionary];

你是这个意思吗?

编辑:用新字典替换条目0处的字典:

int row = 0;
[analysisArray replaceObjectAtIndex:row withObject:newDictionary]

在项目0处设置一个单独的键:

int row = 0;
rowDictionary = [analysisArray objectAtIndex:row];
[rowDictionary setValue:value forKey:key];

相关内容

  • 没有找到相关文章

最新更新