2010-08-12 19 views
5

Quiero hacer una pregunta sobre el objetivo C. Cuando estudio la biblioteca desde el sitio web para desarrolladores de Apple. Siempre veo que hay una subclase llamada "mutable". Por ejemplo, NSArray y NSMutableArray. ¿Qué significa sobre esta palabra? ¿Hay algún significado especial? ¿Alguien me puede decir? Gracias.¿Cuál es el significado de "mutable" en el objetivo C?

Respuesta

4

Esto significa que puede cambiar sus valores. Si mira los documentos de NSMutableArray, verá que define métodos adicionales como -addObject:. NSArray por sí mismo no tiene estos (y por lo tanto puede ser más eficiente/tomar menos memoria en la implementación).

También tenga en cuenta, si se llama a [myMutableArray copy] obtendrá una copia no mutable de la misma (que debe release0 más tarde. Y del mismo modo que hay -mutableCopy.

1

mutable significa que puede cambiarlo. Mira la diferencia entre addObject en NSMutableArray y arrayByAddingObject en NSArray

1

Desde el Objective-C Beginner's Guide se afirma que la respuesta a su pregunta específica:.

Hay dos tipos de matrices (y de generalmente la mayoría de los datos orientados a las clases Foundation ) NSArray y NSMutableArray. Como su nombre indica, Mutable es changable, NSArray no lo es. Esto significa que usted puede hacer un NSArray pero una vez que tiene no puede cambiar la longitud.

Esta nota técnica implica también puede cambio la longitud de una matriz mutable después de la serie ha sido creada.

En general mutability stems from these meanings. Esto ayudará a proporcionar una comprensión más amplia para cuando la encuentre en otro lugar.

Cuestiones relacionadas