Gibt es eine literale Syntax für änderbare Sammlungen?
Ich weiß, ich kann ein NSArray
mit @[@"foo", @"bar"]
oder eine NSDictionary
mit @{@0 : @"foo", @1 : @"bar"}
.
Gibt es ein literal-syntax zum erstellen einer NSMutableArray
oder eine NSMutableDictionary
?
InformationsquelleAutor der Frage ma11hew28 | 2012-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Genauso wie es nicht die eine syntax für die Erstellung einer
NSMutableString
. Mutable-Objekte sind nicht besonders geeignet, um Literale Werte.InformationsquelleAutor der Antwort Kevin Ballard
Gibt es nicht eine eingebaute Möglichkeit, aber ich in der Regel verwenden
mutableCopy
wie diese:InformationsquelleAutor der Antwort danielbeard
Nicht. Beste alternative:
InformationsquelleAutor der Antwort Anne
Ja. Aber nicht ganz. Werfen Sie einen Blick auf diese;
NSMutableArray *list = [@[] mutableCopy];
Dies schafft eine non-mutable-array
@[]
und fordertmutableCopy
das gibt einenNSMutableArray *
. Statt@[]
Sie eine array-literal.InformationsquelleAutor der Antwort nidheeshdas
Wenn Sie eine geschachtelte literal für arrays und dictionaries, können Sie diese in eine komplett veränderbare version durch
NSJSONSerialization
. Zum Beispiel:Es ist ein bisschen ein Umweg, aber zumindest müssen Sie nicht schreiben den code selbst. Und das gute daran ist, dass
NSJSONSerialization
ist sehr schnell.InformationsquelleAutor der Antwort meaning-matters