正在回答 回答被采纳积分+1
1回答
慕粉193426891
2018-02-24 16:15:07
NSString *string1 = @“Hello”; //这里应该是string1 的值是可变的,@"HELLO"不可变,
NSMutableString *string2=@"word";
OC中的 可变对象和不可变对象的的区别不在于 string1 string2 (他们本质就是指向对象的指针,我们就说他们是指针吧),string1和strin2
这两个值是可以任意更改的,但是@“hello”作为对象他是不可变的,@“word”是可变的, @“hello”存放在内存的只读数据区,@"Word"
可存放在WRDATA区。
简单讲 OC中的可变对象和不可变对表述的是指 指针所值的那个对象的 可变现,而非指针本身。
如: 我们可以说 srting1所指向的@“hello”是不可变的,直接说@“hello”是不变的也行,但是string1永远可变,他可以指向另外一个字符串
iOS入门:基础语法与常用控件
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星