InitWithDictionary导致原始NSMutableDictionary被更改

时间:2014-10-07 13:10:38

标签: ios objective-c nsmutabledictionary

我最初只有一个NSMutableDictionary。然后我使用:

初始化另一个NSMutableDictionary
self.originalDict = [[NSMutableDictionary alloc] initWithDictionary:self.newDict];

两者都有NSStrings作为键,NSMutableArray作为值。

我以后做: ...

 NSArray *keys = [self.newDict allKeys];
    for(NSString *key in keys){
        [[self.newDict objectForKey:key] filterUsingPredicate:[self predicateForSearchString:searchString]];
        */
    }

这导致我原来的字典也被更改了。我究竟做错了什么?这可能是另一个原因吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

self.originalDict = [[NSMutableDictionary alloc] initWithDictionary:self.theDict copyItems:YES];