2010-08-12 41 views
5

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

回答

4

这意味着你可以改变它的值。如果你看看NSMutableArray文档,你会看到它定义了额外的方法,如-addObject:。 NSArray本身并不具备这些特性(因此可以更高效地执行内存)。

另外请注意,如果你调用[myMutableArray copy]你会得到它的不可变副本(你以后必须release0,而且同样有-mutableCopy

1

易变意味着你可以改变它,看看之间的区别ADDOBJECT中的NSMutableArray和arrayByAddingObject在NSArray中

1

从​​做出了回答各国您的具体问题:

有两种阵列(和通常面向大多数数据的210类基金会 类)NSArray和NSMutableArray。 顾名思义,可变是 可变,NSArray然后不是。这 意味着你可以做一个NSArray,但是一旦你有你不能改变长度的 。

此技术说明也意味着你可以变化后阵一个可变数组的长度已创建。

一般mutability stems from these meanings。这将有助于为您在别处遇到问题时提供更广泛的了解。