我有一个方法会在其参数中返回一些值。这些值是具有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"];