Swift NSMutableArray add one more array

北战南征 提交于 2019-12-02 04:17:16

问题


The Problem is First time I get data from WebServices so I have show this data on TableView Then user scroller down tableview then again call WebSevices and add this data to again in array but when I try to add data again in nsmutable type array app is crashing

Here is my code. Any solution?

1st time Data load is Working

 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;

2nd Time data load and add with old array not Working

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

Got This Error

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

I have Try this code also But Not Working

ary_mutable.addObject(myArray)

回答1:


You should create a mutable array from immutable. This:

ary_mutable=jsonResult as AnyObject as! NSMutableArray

does not do it, it is just a static cast from one type to another. You have to construct a new NSMutableArray and then fill it with required values.

Change your code to

var ary_mutable = NSMutableArray()

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



回答2:


replace this code:

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

with this code:

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


来源:https://stackoverflow.com/questions/32441617/swift-nsmutablearray-add-one-more-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!