首先你的数组里的的对象是一个不可变字典,这点紧记。然后,a = [data objectAtIndex:i];; 这句并不会将数组里的某个不可变字典变成可变,这点很重要。这里做的只是声明一个指针变量,并将数组里的一个对象的地址赋值给这个指针变量。数组objectOfIndex返回的是一个id类型对象,但你这里提取出来的是一个不可变字典,最后被一个声明为指向可变字典的指针接收了,但这并不意味着这个对象就变形了。所以不管你声明的是指向什么类型的变量,里面的对象不变。所以改成这样吧。NSMutableDictionary * a = [NSMutableDictionary dictionaryWithDictionary:[data objectAtIndex:i]];
定位2 --- 谢定坤






网友评论