我想问一个关于目标C的问题。当我从苹果开发者网站学习图书馆时。我总是看到有一些叫做“mutable”的子类。例如,NSArray和NSMutableArray。这个词是什么意思。有一些特殊的含义吗?有人能告诉我吗?谢谢。
答案 0 :(得分:4)
这意味着您可以更改其值。如果您查看NSMutableArray文档,您会看到它定义了额外的方法,如-addObject:
。 NSArray本身没有这些(因此可以更高效/在实现中占用更少的内存)。
另请注意,如果您致电[myMutableArray copy]
,您将获得一份不可变的副本(您必须在以后版本中发布0。同样地,-mutableCopy
。
答案 1 :(得分:1)
Mutable意味着你可以改变它。看一下NSMrray中NSMutableArray中的addObject和NSArray中的arrayByAddingObject之间的区别。
答案 2 :(得分:1)
从Objective-C Beginner's Guide开始,它说明了您具体问题的答案:
有两种数组(和 通常大多数数据导向基础 类)NSArray和NSMutableArray。 顾名思义, Mutable是 可变的,NSArray则不然。这个 意味着你可以制作一次NSArray 你不能改变长度。
本技术说明还暗示您可以在创建数组后更改可变数组的长度。
一般mutability stems from these meanings。这将有助于您在其他地方遇到它时提供更广泛的理解。