【问题标题】:How to save object in NSMutableDictionary如何在 NSMutableDictionary 中保存对象
【发布时间】:2014-12-28 03:11:53
【问题描述】:

我想在一种方法中将一个对象分配给 NSMutableDictionary,并希望在另一种方法中使用它,如下所示:

- (void) aaa {
  NSString* aa = @"hello";
  [self.pcs setObject:aa forKey:@"a"];
}

- (void) bbb {
  NSLog(@"ccc %@", self.pcs[@"a"]);
} 

pcs 是@interface 中的一个属性

@property(nonatomic, copy) NSMutableDictionary* pcs;

如果我在另一个方法中调用aaabbb,我希望方法bbb打印ccc hello的日志,但结果是ccc (null)

谁能告诉我如何在 NSMuableDictionary 中存储对象?

【问题讨论】:

  • 你真的创建过 NSMutableDictionary 吗??

标签: objective-c nsmutabledictionary retain


【解决方案1】:

你是如何初始化 self.pcs 的?

如果self.pcs为null,self.pcs[@"a"]当然为null

【讨论】:

  • 很抱歉,我是 Objective c 的新手,我确实初始化了 self.pcs,谢谢。
  • 显示你如何初始化字典,我认为@TinyFool 是对的。
  • 好的,我是英文新手,打错了,我没有初始化self.pcs。再次感谢您。
【解决方案2】:

在为 Key 设置对象之前包含这一行:-

self.pcs=[NSMutableDictionary dictionary];

编辑:- 直到你的 mutabledictionary 对象没有被创建。您不能为 key 设置对象。

【讨论】:

    【解决方案3】:

    使用文字语法:

    self.pcs = [NSMutableDictionary dictionary];
    NSObject *someObject = [NSObject new];
    self.pcs[@"KEY"] = someObject;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2013-10-14
      • 1970-01-01
      相关资源
      最近更新 更多