我制作了一个小代码
NSArray* _options = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[UIImage imageNamed:@"2"],@"img",name,@"text"
, nil],nil];
现在,我想向_options添加其他对象。我该怎么办? 我做了更多测试但没有成功。 感谢所有
答案 0 :(得分:2)
您可以使用[NSArray arrayByAddingObject:]
_options = [_options arrayByAddingObject:object];
或将_options
更改为NSMutableArray
NSMutableArray *_options = [NSMutableArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[UIImage imageNamed:@"2"],@"img",name,@"text"
, nil],nil];
[_options addObject:object];
您可能想要使用现代语法
NSMutableArray *_options = [@[@{@"img":[UIImage imageNamed:@"2"],@"text":name}] mutableCopy];
[_options addObject:object];
答案 1 :(得分:2)
NSArray不允许进行任何更改;您可以使用NSMutableArray
代替:
NSMutableArray *mutable = [_options mutableCopy];
[mutable addObject:yourObject];
NSDictionary是相同的,因为它不能被改变。
答案 2 :(得分:1)
首先,创建一个NSMutableArray,因为您可以在以后的代码中对其进行更改:
NSMutableArray *newOptions = [NSMutableArray alloc]init];
[newOptions setArray:_options];
[newOptions addObject:yourObject];
答案 3 :(得分:1)
您无法向NSArray添加对象,为此,您需要NSMutableArray。
但是,您可以使用以下命令向NSArray添加对象:arrayWithObjects