我想知道如何在不更改原始数组的情况下将字符串添加到可变数组中。所以我想我必须复制数组参数,然后将字符串添加到该参数中。
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
{
NSArray *newArray = [NSMutableArray arrayWithArray:array];
[newArray arrayByAddingObject:[string]];
return array;
}
我收到错误预期标识,不确定这意味着什么。
答案 0 :(得分:2)
使用addObject方法:
proxies = {'http': 'http://user:pass@10.10.1.10:3128/'}
数组是[array addObject:@"HEllo"];
在你的示例方法中,它将是这样的:
NSMutableArray
答案 1 :(得分:1)
你正在创建新数组只是NSArray
这是不可变的,而你试图添加的对象是字符串为什么要使用[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`
}
答案 2 :(得分:0)
你只需要做的就是
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
return [array addObject:string];
}
答案 3 :(得分:0)
代码中有额外的[]
,请将其更改为:
[newArray arrayByAddingObject:string];
答案 4 :(得分:0)
应该是这样的;
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
{
[array addObject:string];
return array;
}
答案 5 :(得分:0)
你可以这样使用
在Swift中
func arrayByAddingString(string: String, array: NSMutableArray) -> {
array.addObject(String)
return array
}
目标C
-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array{
[array addObject:string];
return array;
}