簡體   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