6

Çift işaretçiyi kullanmak istiyorum ve böyle bildirmeye çalıştım. çift işaretçi ile NSString değişkeninin nasıl bildirileceğini bildirme

NSString **a; 

ama, Xcode bana "const olmayan tip hiçbir açık sahipliği ile 'NSString *' için İşaretçi" hatası gösterdi ve derlenmiş edilemedi.

Sonunda böyle yapmak istiyorum.

NSString **a; 
NSString *b = @"b"; 
NSString *c = @"c"; 
a = &b; 
*a = c; 

NSLog(@"%@",b);//I wanna see "c" 

bana herhangi bir tavsiye lütfen bildirin. Buna

+0

Gösterilen kodun tamamı yasaldır. Daha fazla bağlam olmadan, sorunuzu cevaplayabileceğimizi düşünmüyorum. –

+1

@CarlNorum Otomatik-"smartass" -referans sayımı görüntü içine girdiği zamanlar hariç ... O zaman derleyiciyi her küçük momentumdan şikayet ediyor ... –

+0

Ah, bunu unutmuşum. ARC, herhangi bir Objective-C kodu yazmayı bıraktığımda daha yenidir. –

cevap

11

Değişim açıkça sahipliğini belirlemesi için:

NSString *__strong *a; 
NSString *b = @"b"; 
NSString *c = @"c"; 
a = &b; 
*a = c; 

NSLog(@"%@",b);//I wanna see "c" 

Çıktı: __strong üzerine

c 

Here is the documentation.

+1

Teşekkürler! Evet, bu mükemmel bir cevaptır :) –

+0

Tip ** ad bildirimleriyle bir grup objc kodu gördüm. Bu kullanımdan kaldırıldı mı? – mihai