Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在目标c中意外更改存储在可变数组中的值_Ios_Objective C_Uitableview_Nsmutablearray - Fatal编程技术网

Ios 在目标c中意外更改存储在可变数组中的值

Ios 在目标c中意外更改存储在可变数组中的值,ios,objective-c,uitableview,nsmutablearray,Ios,Objective C,Uitableview,Nsmutablearray,我有来自web服务的数据要显示。我正在正确获取数据,数据已显示在tableview中。我正在存储在可变数组中显示/创建的单元格,以便下次在不使用web服务的情况下加载它们。首次将数据正确存储在数组中,但数组中存储的值会自动更改 我确实检查了我插入单元格的代码部分,它只根据项目数工作,即,如果我有5个来自服务的数据,它只存储5个值,只工作5次。那么它是如何变化的呢 iOS一次只创建与显示的单元格数量相同的单元格,然后在屏幕上滚动一次即可重复使用它们。当您在表格中滚动时,数组中的单元格将被重用,来自

我有来自web服务的数据要显示。我正在正确获取数据,数据已显示在
tableview
中。我正在存储在
可变数组中显示/创建的
单元格
,以便下次在不使用web服务的情况下加载它们。首次将数据正确存储在数组中,但数组中存储的值会自动更改


我确实检查了我插入单元格的代码部分,它只根据项目数工作,即,如果我有5个来自服务的数据,它只存储5个值,只工作5次。那么它是如何变化的呢

iOS一次只创建与显示的单元格数量相同的单元格,然后在屏幕上滚动一次即可重复使用它们。当您在表格中滚动时,数组中的单元格将被重用,来自web服务的新内容将替换来自web服务早期响应的内容


与其将单元格保存在数组中,不如将web服务中的内容保存在数组、字典或其他适当的集合中,然后更新集合中的单元格。

数据会自动更改,因为您存储的是可重复使用的单元格(如果它们不再显示在屏幕上,可能会在其他地方使用)。不存储单元格,存储数据对象,并使用传递给方法
cellforrowatinexpath:

的indexPath从数组或字典中加载它们。感谢您的快速回复。只有在从web服务获取完整数据后,我才尝试将内容加载到tableview。通常我按照您指定的方式处理此问题。但在这里,我在同一个类中调用了两次web服务,它本身就是这样,而且我有图像要加载。因此,我处理了视图控制器类中的两个服务调用&tableview单元格类中的image url调用。因此,我不会将加载的图像数据获取到view controller类。这就是我储存整个手机的原因。谢谢你的回复。请参考我对bobnoble回答的评论。我已经更清楚地解释了这个场景,我也会将图像存储在数组中,然后将它们传递到单元格中。储存细胞绝对不是一种选择。