iOS可变Array与不可变Array

iOS 有两个对象NSArray 与 NSMutaleArray,一个长度是可变的一个长度是不可变的,为什么要分成这两个类呢?直接定义一个NSMutableArray不就可以了,反正NSMutableArray完全包含了NSArray的功能

阅读 8.5k
4 个回答

NSArray是线程安全的
NSMutableArray多线程的时候自己加锁啊,
一般NSMutableArray内部用,然后copy出一个NSArray做为接口暴露给别人

太自由了未必是什么好事, 比方讲, 有一个类的一个属性是array, 你希望别的地方可以访问它, 但是不一定希望谁都可以改变它的内容, 这个时候就需要一个NSArray, 而不是一个可变得NSMutableArray!

新手上路,请多包涵

NSArray比较省空间

NSArray,安全、效率高,其他方面就如 @openlabb 说的那种使用方法,自己使用NSMutableArray,不希望别人修改就给他提供NSArray类型就好。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题