我知道我可以创建一个NSArray
与@[@"foo", @"bar"]
或NSDictionary
与@{@0 : @"foo", @1 : @"bar"}
。
是否有用于创建一个文本语法NSMutableArray
或NSMutableDictionary
?
我知道我可以创建一个NSArray
与@[@"foo", @"bar"]
或NSDictionary
与@{@0 : @"foo", @1 : @"bar"}
。
是否有用于创建一个文本语法NSMutableArray
或NSMutableDictionary
?
第正如怎么没有用于创建一个语法NSMutableString
无论是。 可变对象没有特别适合于文字值。
没有一个内置的方式,但我只是平时使用mutableCopy
这样的:
NSMutableArray *array = [@[ @"1", @"2", @"3" ] mutableCopy];
但是,有没有创造一个NSMutableArray或一个NSMutableDictionary文字的语法?
号最佳选择:
[@[ @"foo", @"bar"] mutableCopy]
是。 但并不完全。 看看这个;
NSMutableArray *list = [@[] mutableCopy];
这产生了非可变数组@[]
并调用mutableCopy
返回一个NSMutableArray *
。 代替@[]
你可以给任何文字阵列。
如果你有一个嵌套的字面数组和字典,你可以通过去变成一个完全可变的版本NSJSONSerialization
。 例如:
NSArray* array = @[ @{ @"call" : @{ @"devices" : @[ @"$(devices)" ] } } ];
NSData* data = [NSJSONSerialization dataWithJSONObject:array
options:0
error:nil];
NSJSONReadingOptions options = NSJSONReadingMutableContainers |
NSJSONReadingMutableLeaves;
NSMutableArray* mutableArray = [NSJSONSerialization JSONObjectWithData:data
options:options
error:nil];
这是一个有点迂回的,但至少你不必自己写出来的代码。 而好消息是NSJSONSerialization
是非常快的。