Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift NSMutableArray add one more array

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)
like image 611
Nishant Chandwani Avatar asked Jul 05 '26 01:07

Nishant Chandwani


1 Answers

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])
like image 191
Avt Avatar answered Jul 07 '26 13:07

Avt



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!