在目标c

时间:2015-06-06 11:51:37

标签: ios objective-c uitableview nsmutablearray

我要显示来自网络服务的数据。我正确获取数据,并且已在tableview中显示。我正在cells中存储正在显示/创建的mutable array,以便下次不使用Web服务加载它们。第一次数据已正确存储在数组中,但存储在数组中的值会自动更改!!!

我确实检查了我插入单元格的代码部分,它只按照项目数量工作,即。如果我有来自服务的5个数据,它只存储5个值,它只能工作5次。那怎么改变?

2 个答案:

答案 0 :(得分:0)

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

不是将单元格保存在数组中,而是从Web服务中保存数组或字典或其他适当集合中的内容,然后从集合中更新单元格。

答案 1 :(得分:0)

数据会自动更改,因为您正在存储可重复使用的单元格(如果它们不在屏幕上,则可能会在别处使用)。不要使用传递给方法cellForRowAtIndexPath:的indexPath来存储单元格,存储数据对象并从数组或字典加载它们。