【问题标题】:Update value or Set new key & value in NSMutableDictionary in Objective-C在 Objective-C 的 NSMutableDictionary 中更新值或设置新键和值
【发布时间】:2017-08-30 22:09:16
【问题描述】:

我有一个名称数组,并希望通过具有 A 和 B 前缀来计算它们。 例如对于这个用户名,我希望我的 NSMutableDictionary *cellNum 返回以每个字母开头的名称计数,例如:“A”:“2”和“B”:“1”。

@interface ...
{
    NSArray *users;
    NSMutableDictionary *cellNum;
}

@implementation ...
{
    users = @[@"Ali",@"Armita",@"Babak"];

    for (int i=0;i<users.count;i++)
    {
        if ( [users[i] hasPrefix:@"A"] )
        {
            cellNum[@"a"] = @([cellNum[@"a"] intValue]+1);
        }
        else
        {
            cellNum[@"b"] = @([cellNum[@"b"] intValue]+1);
        }
    }
}

【问题讨论】:

  • 你初始化 cellNum 了吗?
  • 问题或问题是什么?
  • 是的,我初始化了 cellNum @vitormm
  • @Willeke 我的代码不起作用

标签: ios objective-c nsmutabledictionary


【解决方案1】:

尝试使用此代码:

NSMutableDictionary *cellNum = [NSMutableDictionary dictionary];
  
[cellNum setObject:@(0) forKey:@"a"];
[cellNum setObject:@(0) forKey:@"b"];
  
NSArray* users = @[@"Ali",@"Armita",@"Babak"];
  
for (int i=0;i<users.count;i++)
{
    if ( [users[i] hasPrefix:@"A"] ) {
        cellNum[@"a"] = @([cellNum[@"a"] intValue]+1);
    } else {
        cellNum[@"b"] = @([cellNum[@"b"] intValue]+1);
    }
}

这肯定会给你想要的结果:{ a = 2; b = 1; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    相关资源
    最近更新 更多