2010-08-12 4 views
5

Je veux poser une question sur l'objectif C. Quand j'étudie la bibliothèque sur le site Web du développeur Apple. Je vois toujours qu'il y a une sous-classe appelée "mutable". Par exemple, NSArray et NSMutableArray. Qu'est-ce que cela signifie à propos de ce mot? Y a-t-il une signification particulière? Quelqu'un peut-il me dire? Je vous remercie.Quelle est la signification du "mutable" dans l'objectif C?

Répondre

4

Cela signifie que vous pouvez modifier ses valeurs. Si vous regardez les documents NSMutableArray, vous verrez qu'il définit des méthodes supplémentaires comme -addObject:. NSArray par lui-même n'a pas ces derniers (et peut donc être plus efficace/prendre moins de mémoire dans l'implémentation).

Notez également, si vous appelez [myMutableArray copy] vous obtiendrez une copie non-mutables de celui-ci (que vous devez release0 plus tard. Et même, il est -mutableCopy.

1

Mutable signifie que vous pouvez changer. Regardez la différence entre addObject de l'Objective-C Beginner's Guide il est dit dans NSMutableArray et arrayByAddingObject dans NSArray

1

la réponse à votre question.

il existe deux types de tableaux (et de généralement la plupart orientée vers les données Foundation classes) NSArray et NSMutableArray. Comme son nom l'indique, Mutable est modifiable, NSArray ne l'est pas. Cette signifie que vous pouvez faire un NSArray mais une fois que vous avez vous ne pouvez pas changer la longueur.

Cette note technique implique également que vous pouvez changement la longueur d'un tableau mutable après le tableau a été créé.

En général mutability stems from these meanings. Cela vous aidera à mieux comprendre quand vous le rencontrerez ailleurs.

Questions connexes