Takuya Takahashi
Takuya Takahashi

Reputation: 453

how to declare variable of NSString with double pointer

I wanna use double pointer and I tried to declare like this.

NSString **a;

but, Xcode showed me the error "Pointer to non-const type 'NSString *' with no explicit ownership" and it couldn't be compiled.

Finally I wanna do like this.

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

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

Let me know any advise please.

Upvotes: 6

Views: 2235

Answers (1)

iDev
iDev

Reputation: 23278

Change to this so that you can explicitly specify the ownership:

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

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

Output:

 c

Here is the documentation on __strong.

Upvotes: 12

Related Questions