为什么oc把NSArray设计成不可变的?
语言中类似这样的有很多 java中的string 我想问一下 为什么一开始设计成这样呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
语言中类似这样的有很多 java中的string 我想问一下 为什么一开始设计成这样呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
字符串设计成不可变的主要是为了常量池优化和hashCode应用,如果字符串可变,hashCode就基本没有用武之地了
NSArray,copy的时候只需要retain就可以了,不会创建一个新的对象, 其实也是常量池的思想
另外,相对地,有可变的 NSMutableArray