2010-09-05 76 views
1

可以一个NSString被重用这样的:分配相同的NSString多次

NSString *string = @"first value"; 

NSLog(string); 

string = @"second value"; 

NSLog(string); 

测试时,这工作,但它是正确的编码?

谢谢。

+0

下次请格式化您的代码。 – 2010-09-05 01:09:30

回答

0

是的,你的例子是完全没问题的。你对“不适当”的担忧是什么?

编辑:严格来说它可能是更安全的使用方法:

NSLog(@"%@", string); 

而不是仅仅直接登录的字符串。不过,我不认为你在问什么。

+0

我的担心是它不是一个NSMutableString。使用不同长度的字符串重新分配NSString是否会破坏内存中的任何内容? – Jim 2010-09-05 01:16:00

+0

@Jim,你不会修改你的代码中的任何字符串;只是一个指向字符串的指针。 – 2010-09-05 01:35:02

+0

那么“第一价值”会发生什么?它留在记忆中还是被丢弃?我应该释放它吗? – Jim 2010-09-05 02:10:23

0

您不更改字符串。相反,你只是分配一个不同的地址到指针string

@"first String"@"second String"只是常数字符串。