2014-03-25 100 views
0

我做了一個小的代碼添加其他對象的NSArray

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

現在,我想添加其他對象_options。我該怎麼辦? 我做了更多的測試,但沒有成功。 感謝所有

回答

1

首先,創建一個NSMutableArray,因爲當你看到後適合在你的代碼,你可以對它進行更改:

NSMutableArray *newOptions = [NSMutableArray alloc]init]; 

[newOptions setArray:_options]; 

[newOptions addObject:yourObject]; 
+0

'NSArray'沒有方法'addObject:'我不滿意它,因爲這是錯誤的答案。 –

+0

塗料NSMutableArray – klcjr89

+0

我想再次downvote。 'newOptions = _options'不會奇蹟般地改變'_options'到'NSMutableArray' –

2

可以使用[NSArray arrayByAddingObject:]

_options = [_options arrayByAddingObject:object]; 

或改變_optionsNSMutableArray

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

無法對象添加到NSArray,要做到這一點,你需要一個​​。

但是,您可以與創建時添加對象的NSArray:arrayWithObjects

2

的NSArray不允許作任何更改;您可以使用NSMutableArray,而不是像這樣:

NSMutableArray *mutable = [_options mutableCopy]; 

[mutable addObject:yourObject]; 

NSDictionary的是,它不能突變一樣。

相關問題