如何添加两个可变数组? Swift

how to add two mutable array? Swift

在我的应用程序中,我想实现下拉刷新。因此,当滚动视图向下滚动时,它会加载更多数据。现在第一次加载页面时,我将数据保存在 videoArray 数组中,当向下滚动时,我在 videoArray2 数组中获得数据,所以我如何添加值videoArray2videoArray?两者都是 nsmuttablearray.

这是我的代码:

var videoArray : NSMutableArray = NSMutableArray()
var videoArray2 : NSMutableArray = NSMutableArray()

我第一次在这个数组中存储值

self.videoArray = (response.result.value)?.valueForKey("posts") as! NSMutableArray

我第二次在这个数组中存储值

self.videoArray2 = (response.result.value)?.valueForKey("posts") as! NSMutableArray

这就是我尝试追加的方式

for enumerator in self.videoArray2
{
    self.videoArray.addObject(enumerator)
}

但它的抛出错误类似于

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'

那我该如何解决呢?

let videoArray = (response.result.value)?.valueForKey("posts") as! NSArray
self.videoArray = NSMutableArray(array:videoArray)

第二个数组也一样

Swift方式就这么简单

var array : [AnyObject] = [AnyObject]()
var array1 : [AnyObject] = [AnyObject]()
//Add array like this
array.appendContentsOf(array1)

或者像你声明的那样

var videoArray : NSMutableArray = NSMutableArray()
var videoArray2 : NSMutableArray = NSMutableArray()
//Add like this
videoArray.addObjectsFromArray(videoArray2 as [AnyObject])

videoArray2.enumerateObjectsUsingBlock { (data, index, finished) in
        self.videoArray.addObject(data)
    }

// (response.result.value)?.valueForKey("posts") 返回 NSArray 所以你必须把它放在一个数组对象中然后你可以将所有对象传输到你的可变数组

let array = (response.result.value)?.valueForKey("posts") as! NSMutableArray
self.videoArray = NSMutableArray(array:array)

// 添加对象从 videoArray2 到 videoArray

self.videoArray.addObjectsFromArray(self.videoArray2)
Replace this line code 

self.videoArray = (response.result.value)?.valueForKey("posts") as! NSMutableArray

With 

let vidArray = response.result.value)?.valueForKey("posts") as! NSArray;
self.videoArray = vidArray.mutableCopy() as! NSMutableArray


First Line of code get the data from server as NSArray and later second line creates a mutable copy of that array.

Now Code below Run as expected.
for enumerator in self.videoArray2
{
    self.videoArray.addObject(enumerator)
}

Now you can add objects to the mutable copy of the videoArray.