【问题标题】:Retrieving data from a NSDictionary从 NSDictionary 检索数据
【发布时间】:2010-07-08 16:25:31
【问题描述】:

我不太确定我是否了解如何执行以下操作。

如果我想添加例如字典的作者和标题(键,值)。用数据填充该字典,然后再使用另一个字典,例如k = 流派 v = 艺术家姓名并用数据填充它。

然后我想将字典添加到数组中。

首先这是怎么做的?其次,如果我允许用​​户记录他们自己的条目怎么办。所以我必须在屏幕上显示文本字段,当用户完成后,它将字段作为键值对存储在新字典中,例如用户字典。

稍后尝试用用户输入的数据填充表格视图时我会做什么,我不知道该字典中的键或值,所以我该如何检索这些数据?

我的意思是,假设我想从数组索引 2 加载用户的字典,并用每个字典条目填充 tableview 的单元格,这是如何完成的?也许像数组上的方法(在索引 blah blah 处获取 entry.title),获取字典中的键值?

如何才能真正加载他们不知道值的用户输入数据?

问候

【问题讨论】:

    标签: iphone uitableview nsmutablearray nsmutabledictionary


    【解决方案1】:

    将作者和标题添加到字典中(假设它们是已经存在的对象 - 在您的情况下可能是 NSString 实例):

    NSMutableDictionary *books = [[NSMutableDictionary alloc] initWithCapacity:10];
    [books setObject:title forKey:author];
    

    流派/艺术家也是如此:

    NSMutableDictionary *music = [[NSMutableDictionary alloc] initWithCapacity:10];
    [books setObject:artist forKey:genre];
    

    然后将它们放入一个数组中:

    NSArray *theArray = [NSArray arrayWithObjects:books, music, nil];
    

    然后读取数组索引 2 处的内容:

    id key;
    NSDictionary *theDictionary = [theArray objectAtIndex:2];
    id value;
    for (key in [theDictionary allKeys])
    {
        value = [theDictionary objectForKey:key];
        // do something with the value
    }
    

    【讨论】:

    • 谢谢。如果我想根据用户选择下一个还是上一个来一次检索一个呢?
    • 数据库会更高效吗?
    【解决方案2】:

    您可以使用allKeys 在字典中获取键的 NSArray。然后您可以使用 objectForKey 检索值:

    for (id key in [myDict allKeys]) {
        NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-10
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多