【发布时间】:2010-01-08 07:46:20
【问题描述】:
是否可以将NSMutableString 中的值添加到NSArray 中? sn-p 是什么?
【问题讨论】:
标签: objective-c nsarray nsmutablestring
是否可以将NSMutableString 中的值添加到NSArray 中? sn-p 是什么?
【问题讨论】:
标签: objective-c nsarray nsmutablestring
实际上,迈克错了。如果你想用单个 NSMutableString 对象实例化一个 NSArray,你可以这样做:
NSMutableString *myString; //Assuming your string is here
NSArray *array = [NSArray arrayWithObject:myString];
NSArray 中没有arrayWithElements(参见NSArray documentation)
【讨论】:
arrayWithObjects 方法。
如果您想用单个 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];
【讨论】:
NSArray 是不可变的,因此您不能向其添加值。您应该使用NSMutableArray 以便通过addObject: 方法来做到这一点。
NSMutableString *str = ...
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:str];
【讨论】:
// 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];
使用新的符号,这是小菜一碟。
【讨论】: