Swift的NSMutableArray添加一个更多的数组

问题是我第一次从WebServices获取数据,所以我已经在TableView上显示这些数据然后用户滚动向下tableview然后再次调用WebSevices并再次将此数据添加到数组中,但是当我尝试再次添加数据在nsmutabletypes数组应用程序崩溃

这是我的代码。 任何解决scheme

第一次数据加载正在工作

  var ary_mutable: NSMutableArray! ary_mutable = NSMutableArray() ary_mutable=jsonResult as AnyObject as! NSMutableArray self.tbl_T.reloadData(); self.tbl_T.delegate=self; self.tbl_T.dataSource=self; 

第二次数据加载和旧数组添加不工作

 var myArray :NSArray! myArray = jsonResult as AnyObject as! NSArray ary_mutable.addObject(myArray.objectAtIndex(0)) 

得到这个错误

 [__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object' 

我已经尝试此代码也不工作

 ary_mutable.addObject(myArray) 

你应该从不可变的地方创build一个可变数组。 这个:

 ary_mutable=jsonResult as AnyObject as! NSMutableArray 

不这样做,它只是一种从一种types到另一种types的静态转换。 你必须构造一个新的NSMutableArray,然后用所需的值填充它。

改变你的代码

 var ary_mutable = NSMutableArray() // everytime you receive a new data ary_mutable.addObjectsFromArray(jsonResult as! [AnyObject]) 

replace这个代码:

 var myArray :NSArray! myArray = jsonResult as AnyObject as! NSArray ary_mutable.addObject(myArray.objectAtIndex(0)) 

与此代码:

 var myArray : NSMutableArray! myArray = jsonResult as AnyObject as! NSMutableArray ary_mutable.addObjectsFromArray(myArray as [AnyObject]);