Was ist der Unterschied s/w NSArray
und NSMutableArray
?Unterschied zwischen NSArray und NSMutableArray
Antwort
NSMutableArray
(und alle anderen Klassen mit Mutable
im Namen) kann geändert werden. Wenn Sie also eine einfache NSArray
erstellen, können Sie deren Inhalt später nicht ändern (ohne sie neu zu erstellen). Aber wenn Sie ein NSMutableArray
erstellen, können Sie es ändern - Sie werden feststellen, dass es Methoden wie -addObject:
und -insertObject:atIndex:
hat.
Weitere Informationen finden Sie unter the documentation.
Die "veränderbaren" Typen sind Klassen, die nach der Initialisierung geändert werden können, z. B. NSMutableString
vs NSString
.
'NSMutableString' wird von' NSString' abgeleitet. Folglich können Sie sich nicht darauf verlassen, dass ein "NSString *", den Sie von außen erhalten, unveränderlich ist. Sie können nur annehmen, dass "NSMutableString *" änderbar ist. 'NSString *' kann veränderbar oder unveränderlich sein. Aus diesem Grund sollten Sie '[str copy]' aufrufen, wenn die Instanz einer Eigenschaft in Ihrer Klasse zugewiesen ist. –
Sie können einen NSString nicht ändern, nachdem er erstellt wurde. Siehe http://stackoverflow.com/questions/905396/the-final-word-on-nsstrings-mutable-and-immutable. Warum Sie kopieren verwenden, siehe http://StackOverflow.com/Questions/387959/NSString-Property-Copy-or-Retain –
Shaggy: Sie können eine * Instanz * der 'NSString' Klasse nicht ändern. Das ist nicht das Problem. Das Problem ist, dass ein "NSString *' "nicht unbedingt auf eine Instanz der' NSString' Klasse verweist. Es kann auch auf Instanzen von Klassen verweisen, die von 'NSString' abgeleitet sind, wie' NSMutableString'. Daher können Sie sich nicht darauf verlassen, dass ein 'NSString *', den Sie von der Außenwelt erhalten haben, unveränderlich ist. –
NSArray: in NSArray können wir Index nicht ändern .... Bedeutet fix Array.
NSMutableArray: in NSMutableArray können wir Index ändern und auch den Wert in einem Array zur Laufzeit hinzufügen ..
- 1. Unterschiede zwischen [NSArray arrayWithArray:] und [NSArray Kopie]
- 2. Was ist der Unterschied zwischen - (NSMutableArray *) getContactsList und + (NSMutableArray *) getContactsList
- 3. NSArray Unterschied zwischen FirstObject und ObjectAtIndex: 0
- 4. NSMutableArray von NSArray
- 5. Wie NSArray zu NSMutableArray
- 6. NSArray zu NSMutableArray zu NSString
- 7. Konvertieren von NSArray in NSMutableArray
- 8. Inhalt von NSMutableArray durch NSArray ersetzen
- 9. Konvertieren von NSArray in NSMutableArray in Swift
- 10. Objekt aus NSMutableArray entfernen, das NSArray enthält
- 11. Nachteil der Verwendung von NSMutableArray vs NSArray?
- 12. Wie NSArray dynamisch zu NSMutableArray hinzufügen
- 13. Initializing NSMutableArray mit und ohne Kapazitäts
- 14. NSArray- und Bool-Werte
- 15. in Swift: Unterschied zwischen Array VS NSArray VS [ANYOBJECT]
- 16. Unterschied zwischen LLDB und GDB Debuggers
- 17. NSMutableArray Sortierung - Groß- und Kleinschreibung
- 18. Unterschied zwischen Neu- und Array-Initialisierung
- 19. Suchen der maximalen Elemente in einem NSArray (oder NSMutableArray)
- 20. Fehler tritt auf, wenn ich NSMutableArray zu NSArray konvertieren
- 21. Verhalten Unterschied zwischen UIViewviews und [NSView Subviews]
- 22. Unterschied zwischen Vorzeichen & und *?
- 23. VBA: Unterschied zwischen & und +
- 24. Unterschied zwischen "**/* /" und "** /"?
- 25. Unterschied zwischen $ # und $ {# @}
- 26. Unterschied zwischen = und: =
- 27. Unterschied zwischen '#', '%' und '$'
- 28. MySQL: Unterschied zwischen ', `,' und '
- 29. C++ Unterschied zwischen '//' und '///'
- 30. Unterschied zwischen String.Empty und ""
Be nice ... wir alle irgendwo anfangen müssen, und die Dokumentation auf einen Neuling sehr kryptisch . – kmiklas