2011-09-21 57 views
0

我有一些NSDictionarys充满了数据,我有一个利用数据的方法。其中NSDictionary取决于用户的一些输入,所以我想知道如何用数据创建一个指向NSDictionary的指针。指针在目标-c

例如

用户选择“选项foo”的,所以该方法将需要使用“富字典”。例如,我不能将“foo字典”复制到临时字典中,而应该如何引用它,以便“tempdictionary”具有“foo字典”的内容。

这可能没有意义,但在此先感谢。

回答

5

默认情况下不会发生复印​​。只要抓住你想要的NSDictionary并将其分配给一个新的指针:

NSDictionary *fooDictionary = [dataDictionary valueForKey:@"foo"]; 

这会给你一个指针存储内dataDictionary字典。除非您提出要求,否则不会复印。

1

除非您明确告诉代码这样做,否则不会进行复制。例如:

NSDictionary *fooDict = ...; // initialize fooDict and probably other dicts 

if ([self useFoo]) { 
    [self stuffWithFooDict:fooDict]; // will pass pointer of fooDict 
} 

if ([self useFooCopy]) { 
    [self stuffWithFooCopy:[fooDict copy]]; // will use a copy of fooDict 
}