目标C中“可变”的含义是什么?

时间:2010-08-12 01:20:03

标签: objective-c

我想问一个关于目标C的问题。当我从苹果开发者网站学习图书馆时。我总是看到有一些叫做“mutable”的子类。例如,NSArray和NSMutableArray。这个词是什么意思。有一些特殊的含义吗?有人能告诉我吗?谢谢。

3 个答案:

答案 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。这将有助于您在其他地方遇到它时提供更广泛的理解。