Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何添加两个可变数组?敏捷的_Ios_Swift_Nsmutablearray_Nsarray - Fatal编程技术网

Ios 如何添加两个可变数组?敏捷的

Ios 如何添加两个可变数组?敏捷的,ios,swift,nsmutablearray,nsarray,Ios,Swift,Nsmutablearray,Nsarray,在我的应用程序中,我想实现下拉刷新。因此,当滚动视图向下滚动时,将加载更多数据。现在,当第一次加载页面时,我将数据保存在videoArray数组中,当向下滚动时,我将数据保存在videoArray2数组中,那个么如何才能将videoArray2的值添加到videoArray中呢?两者都是NSM阵列 这是我的密码: var videoArray : NSMutableArray = NSMutableArray() var videoArray2 : NSMutableArray = NSMuta

在我的应用程序中,我想实现下拉刷新。因此,当滚动视图向下滚动时,将加载更多数据。现在,当第一次加载页面时,我将数据保存在videoArray数组中,当向下滚动时,我将数据保存在videoArray2数组中,那个么如何才能将videoArray2的值添加到videoArray中呢?两者都是NSM阵列

这是我的密码:

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
我第二次在这个数组中存储值

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)
}
但它的投掷错误就像

***由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[\uu nsFarray insertObject:atIndex:]:正在将方法发送到不可变对象”

那么我该如何解决这个问题呢

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

对于第二个数组也是一样的

它以快速的方式像这样简单

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])

/(response.result.value)?.valueForKey(“posts”)返回NSArray,因此您必须将其放入数组对象中,然后您可以将所有对象传输到可变数组中

let array = (response.result.value)?.valueForKey("posts") as! NSMutableArray
self.videoArray = NSMutableArray(array:array)
self.videoArray.addObjectsFromArray(self.videoArray2)
//将对象从videoArray2添加到videoArray

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

不要使用
NSMutableArray
–使用Swift的本机数组类型。您始终可以通过条件下传将从objc接收的
NSArray
桥接回本机Swift数组。纯Swift是更好的选择,而不仅仅是使用
appendContentsOf
方法。。。这就是所有的,如果您要在Obj-C文件上使用Swift文件中声明的数组,您可能必须使用NSMUTABLEARRY。回答得好,阿米特。非常感谢。