2010-08-12 11 views
5

Ich möchte eine Frage über das Ziel C stellen. Wenn ich die Bibliothek von der Apple Developer Website studiere. Ich sehe immer, dass es eine Unterklasse namens "veränderbar" gibt. Zum Beispiel NSArray und NSMutableArray. Was bedeutet das für dieses Wort? Gibt es eine besondere Bedeutung? Kann mir das jemand sagen? Vielen Dank.Was bedeutet "veränderbar" in Ziel C?

Antwort

4

Es bedeutet, dass Sie seine Werte ändern können. Wenn Sie sich die NSMutableArray-Dokumente ansehen, sehen Sie, dass sie zusätzliche Methoden wie -addObject: definiert. NSArray selbst hat diese nicht (und kann daher effizienter sein/weniger Speicher bei der Implementierung benötigen).

Beachten Sie auch, wenn Sie anrufen [myMutableArray copy] es eine nicht-veränderbare Kopie davon erhalten (die Sie später release0 müssen. Und ähnlich ist es -mutableCopy.

1

Mutable bedeutet, dass Sie es ändern können. Schauen Sie sich die Differenz zwischen addObject in NSMutableArray und arrayByAddingObject in NSArray

1

Vom Objective-C Beginner's Guide es die Antwort auf Ihre Frage lautet:.

es gibt zwei Arten von Arrays (und von normalerweise am meisten Daten orientierte Foundation Klassen) NSArray und NSMutableArray. Wie der Name schon sagt, Veränderbar ist veränderbar, NSArray ist dann nicht. Diese bedeutet, dass Sie eine NSArray machen können, aber einmal Sie haben, können Sie die Länge nicht ändern.

Diese Tech-Note bedeutet auch, können Sie Änderung die Länge eines änderbaren Array nach dem Array erstellt wurde.

Im Allgemeinen mutability stems from these meanings. Dies wird Ihnen helfen, ein breiteres Verständnis dafür zu entwickeln, wenn Sie es anderswo finden.