[英]Pointers in objective-c
我有一些充满数据的NSDictionarys
,并且我有一种利用数据的方法。 使用哪个NSDictionary
取决于用户的一些输入,所以我想知道如何创建一个指向NSDictionary
的数据指针。
例如
用户选择“选项foo”,因此该方法将需要使用“ foo字典”。 而不是将“ foo词典”复制到临时词典中,而是如何引用它,以便“ tempdictionary”具有“ foo词典”的内容。
这可能没有任何意义,但请先感谢。
默认情况下不会进行复制。 只需获取所需的NSDictionary
并将其分配给新的指针即可:
NSDictionary *fooDictionary = [dataDictionary valueForKey:@"foo"];
这将为您提供指向dataDictionary
存储的字典的指针。 除非您要求,否则它不会复制。
除非您明确告诉代码这样做,否则不会创建副本。 例如:
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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.