我有一个方法会在其参数中返回一些值。这些值是具有KeyValues的NSDictionaries。

我想知道如何复制这些包含键值的NSDictionaries。

目前,这是我正在尝试做的事情。

//。H

NSMutableDictionary *tempDic;

@property (strong, nonatomic) NSDictionary *tempDic;


//.m

@synthesize tempDic;


- (void)reciverMethod:(NSDictionary *)myDictionary {

// I would like to get my method specific variable **myDictionary** and copy it into my global dictionary value tempDic like so

tempDic = [myDictionary mutableCopy]; //  this dosnt work

}


在myDictionary上运行的事物可能具有几个可以使用的键值

myDictionary.firstvalue
myDictionary.secondvalue
myDictionary.thirdvalue


但是当我尝试使用tempDic时,这些键都不可用。


    tempDic.firstvalue
    tempDic.secondvalue
    tempDic.thirdvalue

工作...

任何帮助将不胜感激。

最佳答案

1)删除此内容,NSMutableDictionary *tempDic;

有这个就足够了

@property (strong, nonatomic) NSDictionary *tempDic;


由于tempDic对象很强,因此非原子

- (void)reciverMethod:(NSDictionary)myDictionary {
self.tempDic = myDictionary;
}


编辑1:

id value1 = [self.tempDic objectForKey:@"firstvalue"];
id value2 = [self.tempDic objectForKey:@"secondvalue"];
id value3 = [self.tempDic objectForKey:@"thirdvalue"];

10-01 23:06