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