如何在NSMutableDictionary中保存对象

时间:2014-12-28 03:11:53

标签: objective-c nsmutabledictionary retain

我想在一个方法中为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) < / p>

有人能告诉我如何在NSMuableDictionary中存储对象吗?

3 个答案:

答案 0 :(得分:1)

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

如果self.pcs为null,当然self.pcs [@“a”]为空

答案 1 :(得分:0)

在设置Key的对象之前,只需包含此行: -

self.pcs=[NSMutableDictionary dictionary];

编辑: - 直到你的mutabledictionary对象没有创建。您无法设置密钥对象。

答案 2 :(得分:0)

使用文字语法:

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