如何将数据从NSMutableString添加到NSArray中?

问题描述:

是否可以将NSMutableString中的值添加到NSArray?什么是片段?如何将数据从NSMutableString添加到NSArray中?

实际上,迈克是错误的。如果你要实例一个NSArray与单一的NSMutableString对象,你可以做到以下几点:

NSMutableString *myString; //Assuming your string is here 
NSArray *array = [NSArray arrayWithObject:myString]; 

有一个在NSArray没有arrayWithElements(见NSArray documentation

+0

对不起,错字。我的例子是固定的,使用'arrayWithObjects'方法。 – Mike 2010-01-08 08:23:48

NSArray是不可变的,所以你不能给它添加值。您应该使用NSMutableArray以便通过addObject:方法执行此操作。

NSMutableString *str = ... 
NSMutableArray *array = [[NSMutableArray alloc] init]; 
[array addObject:str]; 

如果你想用实例化一个NSMutableString对象的NSArray,你可以做到以下几点:

NSString *myString; //Assuming your string is here 
NSArray *array = [NSArray arrayWithObjects:myString,nil]; 

注意,NSArray的将是不可改变的 - 也就是说,你不能添加或移除在完成它之后将它反对。如果你想要数组是可变的,你将不得不创建一个NSMutableArray。要以这种方式使用NSMutableArray,你可以做到以下几点:

NSString *myString; //Assuming your string is here 
NSMutableArray *array = [[NSMutableArray alloc] init]; 
[array addObject:myString]; 

// You must use NSMutableArray to add Object to array 

NSMutableArray *tableCellNames; 
// arrayWithCapacity is a required parameter to define limit of your object. 
tableCellNames = [NSMutableArray arrayWithCapacity:total_rows]; 

[tableCellNames addObject:title]; 
NSLog(@"Array table cell %@",tableCellNames); 

//Thanks VKJ 

优雅的解决办法是这样的:

NSMutableString *str; //your string here 
NSArray *newArray = @[str]; 

使用新的符号,这是小菜一碟。