【问题标题】:How to change a value inside a dictionary in an array that's inside a dictionary?如何在字典内的数组中更改字典内的值?
【发布时间】:2010-08-28 15:10:44
【问题描述】:

我有一个 plist 字典,其中包含多个数组,每个数组都有不同数量的项目。这些项目也是字典。所以基本上它看起来像这样:

  • 根字典
    • 名称数组
    • 地点数组
      • 第 0 项字典
      • 第 1 项词典
        • 地名字符串:“房子”
        • 描述字符串:“我的房子”
        • 身高数:10
      • 第 2 项字典
      • ...
    • 颜色数组
    • ...

我想找到更改这些数组之一(地点名称、描述、高度)内的值的最佳方法。

plist 是资源的一部分,所以我这样称呼它:

[[NSMutableDictionary alloc] initFromName:@"mydefaults.plist"];

我已经看到了 setValue:forKey 方法,但看起来我正在走向一团糟。 如果它只是一个值,我认为我不必设置整个完整的数组。

那么,最好的方法是什么?

【问题讨论】:

    标签: iphone nsmutablearray nsmutabledictionary


    【解决方案1】:

    怎么样?

    [[[plistDictionary objectForKey:@"places"] objectAtIndex:1] setValue:@"Another house" forKey:@"placeName"]
    

    如果“内部”数组和字典确实是可变的。

    【讨论】:

    • 是的;您在内存中编辑字典并不意味着它会保存到磁盘。你需要一个[plistDictionary writeToFile:... atomically:...] somwehere。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 2011-01-25
    相关资源
    最近更新 更多