将其他对象添加到NSArray

时间:2014-03-25 02:21:52

标签: ios objective-c nsmutablearray nsarray

我制作了一个小代码

NSArray* _options = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[UIImage    imageNamed:@"2"],@"img",name,@"text"
                                   , nil],nil];

现在,我想向_options添加其他对象。我该怎么办? 我做了更多测试但没有成功。 感谢所有

4 个答案:

答案 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