【问题标题】:How to save Values to a NSDictionary如何将值保存到 NSDictionary
【发布时间】:2012-03-30 16:05:07
【问题描述】:

我需要知道;

1.) 如何将值保存到 NSDictionary 和键值对中。我有以下键和值要保存到单个 NSDictionary

键 ------ 值

“1”-----“一”

“2”-------“二”

“3”--------“三”等..

2.) 稍后我需要将上面的 NSDictionary 保存到 NSArray。这可能吗?

3.) 有没有办法按 Assending 顺序订购上述 NSDictionary。我该怎么做呢

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:
    1. [NSDictionary dictionaryWithObjectsAndKeys:@"value", @"key", @"value", @"key2", nil]
    2. [dict allKeys][dict allValues]
    3. 字典是从值到键的映射。订购没有意义。如果您从字典中获取键,则可以对其中的值进行排序,就像普通的 NSArray

    【讨论】:

    • 我需要一次添加一个键值。这可能吗?
    • 不使用 NSDictionary。您必须改用 NSMutableDictionary。
    【解决方案2】:

    您需要使用NSMutableDictionary 实例。有:setObject:forKey之类的方法

    https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsmutabledictionary_Class/Reference/Reference.html

    将字典值添加到NSMutableArray 实例后,可以使用以下方法对其进行排序。

    [arrayInstance sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
    

    【讨论】:

    • Dmitry 可能是正确的,您希望使用 mutable 字典并在进行过程中添加键值,但这不是绝对要求。如果您一开始就组装了所有值,则可以使用 NSDictionary 的 initWithObjects:forKeys 初始化程序。 NSArray 有类似的初始化器。另请注意:您的示例值可以实例化为 NSString,它是一个对象,可以直接添加到 dict/array 集合中。但是如果你的值是整数或浮点数,你需要将它们包装在 NSNumber 中,如果它们是像 CGRect 这样的结构,你需要将它们包装在 NSValue 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    相关资源
    最近更新 更多