繁体   English   中英

Objective-C中的指针

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM