将字符串添加到 IOS 中的数组

Adding a string to an Array in IOS

我想知道如何在不更改原始数组的情况下将字符串添加到可变数组。所以我想我必须复制数组参数,然后将字符串添加到其中。

    -(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array
     {
       NSArray *newArray = [NSMutableArray arrayWithArray:array];

       [newArray arrayByAddingObject:[string]];

return array;
}

我收到错误 Expected identifer,不确定那是什么意思。

使用 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],你可以像下面那样做,

 -(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;
    }

你可以这样使用

In Swift

func arrayByAddingString(string: String, array: NSMutableArray) -> {
array.addObject(String)
return array
}

In Objective C

-(NSMutableArray *)arrayByAddingString:(NSString *)string toArray:(NSMutableArray *)array{
[array addObject:string];    
return array;
}