我想使用雙指針,並試圖像這樣聲明。如何使用雙指針聲明NSString的變量
NSString **a;
但是,Xcode顯示錯誤「指向非常量類型'NSString *'沒有明確的所有權」,並且它無法編譯。
最後我想這樣做。
NSString **a;
NSString *b = @"b";
NSString *c = @"c";
a = &b;
*a = c;
NSLog(@"%@",b);//I wanna see "c"
請讓我知道任何建議。
我想使用雙指針,並試圖像這樣聲明。如何使用雙指針聲明NSString的變量
NSString **a;
但是,Xcode顯示錯誤「指向非常量類型'NSString *'沒有明確的所有權」,並且它無法編譯。
最後我想這樣做。
NSString **a;
NSString *b = @"b";
NSString *c = @"c";
a = &b;
*a = c;
NSLog(@"%@",b);//I wanna see "c"
請讓我知道任何建議。
更改到這一點,以便可以明確所有權:
NSString *__strong *a;
NSString *b = @"b";
NSString *c = @"c";
a = &b;
*a = c;
NSLog(@"%@",b);//I wanna see "c"
輸出:對__strong
c
謝謝!是的,這是完美的答案:) – 2013-02-28 22:27:34
我看到一堆objc代碼與類型**名稱聲明。這是否被棄用? – mihai 2014-10-29 03:01:11
您顯示的代碼完全合法。沒有更多的背景,我認爲我們不能回答你的問題。 – 2013-02-28 22:19:01
@CarlNorum除了自動 - 「smartass」 - 引用計數進入圖像...然後它使編譯器抱怨每一個小動量... – 2013-02-28 22:19:30
哦,我看到...忘了這一點。 ARC比我停止編寫任何Objective-C代碼時更新。 – 2013-02-28 22:20:00