问题描述、在请求服务器数据的时候。用的单例类存储了这个数据放进一个可变数组里面 再用block回传过来。回传的参数类型是id类型。可是在接收的时候。变成nsarr类型。不可变数组。分别请求了三次。分别赋值给了三个数组。可是每走一个请求。其他三个数组的数据全部变成最后一个请求赋值的数组数据了。用nsmutableArr arrwithArr 方法去接收block回传的数据。就正常了,很奇怪。在此记录。
此次原因已发现。原因是使用了一个单例的可变数组去接数据。然而这三个数组都被赋值给了这个单例的接收数据数组。这次赋值是浅拷贝(浅拷贝的原因不知)。当下一次请求改变的时候。这个数组的数据变了。所以前面数组数据也会跟着改变.
网友评论