在IOS中将字符串添加到数组
我想知道如何在不改变原始数组的情况下向可变数组添加字符串。所以我想我必须复制一个数组参数,然后向其中添加字符串在IOS中将字符串添加到数组,ios,arrays,copy,nsmutablearray,Ios,Arrays,Copy,Nsmutablearray,我想知道如何在不改变原始数组的情况下向可变数组添加字符串。所以我想我必须复制一个数组参数,然后向其中添加字符串 -(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array { NSArray *newArray = [NSMutableArray arrayWithArray:array]; [newArray arrayByAd
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
{
NSArray *newArray = [NSMutableArray arrayWithArray:array];
[newArray arrayByAddingObject:[string]];
return array;
}
我得到了错误预期标识符,不确定这意味着什么。使用addObject方法:
[array addObject:@"HEllo"];
其中数组是一个NSMutableArray
在您的示例方法中,它将如下所示:
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
return [array addObject:string];
}
你只需要做的是
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
return [array addObject:string];
}
你正在创建一个新数组,它只是
NSArray
,它是不可变的,而且你试图添加的对象是string为什么要使用[string]
,你可以像下面这样做
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
{
NSMutableArray *newArray = [NSMutableArray arrayWithArray:array];
[newArray addObject:string]; //no need of square brace, because string is an object
return newArray; //return the new array not the `array`
}
代码中有额外的
[]
,请将其更改为:
[newArray arrayByAddingObject:string];
应该是这样,
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
{
[array addObject:string];
return array;
}
你可以这样用
迅速地
在目标C中
无需使用arrayWithArray重新初始化数组。简单操作如下
[newArray arrayByAddingObject:string]
您的newArray
是NSArray
。它应该是NSMutableArray
!!无需使用arrayWithArrayarrayByAddingObject重新初始化数组并将新项添加到该数组中,而问题只想将该项添加到当前数组中,无需重新初始化
func arrayByAddingString(string: String, array: NSMutableArray) -> {
array.addObject(String)
return array
}
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array{
[array addObject:string];
return array;
}