copy does a shallow copy. In other words, self.editContents and self.cleanEditContents both reference the same set of mutable arrays. So if you update a mutable array in one, the change is seen in the other.

To create self.editContents, create a new array with mutable copies of the inner arrays.

NSMutableArray *tmp = [NSMutableArray array];
for (NSArray *array in self.cleanEditContents) {
    [tmp addObject:[array mutableCopy]];
}
self.editContents = tmp;


Supposedly separate NSArray being contaminated by editing a copy
Is it mandatory for each user to have entries in usermeta table as well or it's optional? Recently, I came across a wordpress database which has thousands of users in user table however only a few of them have entries in usermeta table. 

I am wondering in what scenario this could have happened as it doesn't look like those entries were manually removed from database. 
