NSMutableString *s1=[NSMutableString stringWithFormat:@"my age is 10"];
[s1 appendString:@" my name is jack"]
}
复制代码
代码中,定义了一个可变字符串变量 s1 ,加入他的地址是 00fe11,在创建时,内存中的值为:my age is 10
当执行完第二行时,s1追加上了 my name is jack。
我想问的是,当更改值时,内存中是直接在 00fe11 地址哪里直接修改 为:my age is 10 my name is jack
还是另开辟一段空间 ,例如:00fe22 来存储 my age is 10 my name is jack ,请问是那种? 作者: 罗冠坤 时间: 2014-4-15 09:25
可变字符串,顾名思义。就是可以改变的。。每次返回它本身,所以是你说的第一条,直接在oofe11中直接改变字符串内容,不创建新的内存地址作者: 微尘•逐梦 时间: 2014-4-15 10:14 本帖最后由 微尘•逐梦 于 2014-4-15 10:33 编辑
抱歉,我发现我的回答不正确,所以把回帖内容删了。作者: stone24 时间: 2014-4-15 10:14
可以这样理解 :[s1 appendString:@" my name is jack"] 这个方法是没有返回值(void),说明是直接在源对象的基础上,操作的,